CDHtmlDialog 浏览器遇到的服务器忙( Server Busy)问题

作者: hsf 分类: VC++,经验技巧 发布时间: 2017-11-30

今天用CDHtmlDialog创建了一个简单的浏览器程序,遇到了一个问题,记录一下。

问题描述:当超链接的打开方式为_blank的时候,会弹出一个服务器忙的对话框,网页内容:


 

点击百度链接,出现以下对话框:

如果网页代码中的a标签的打开方式不是_blank则能正常进行网页跳转,网页代码改为下面的方式,正常跳转:

 

跳转后页面:

百度中的新闻 贴吧等链接的打开方式也是以_blank方式,如果点击人一个链接,都会出现上面的服务忙对话框,下面给出点击贴吧的截图:

不知是何原因,难道是没有足够的页面用来打开新的网页,望有知道的高手能告知原因。

解决方案:

既然是由于a标签的打开方式引起的,那就对a标签进行一下处理吧。

思路:1、获取点击位置的标签

2、获取标签名称,查看是否为a标签

3、如果是a标签,获取打开方式,并获取href网址

4、关闭当前页面,打开href指向的页面

在PreTranslateMessage中获取鼠标按下消息,在鼠标按下消息中处理是否a标签,并对打开方式为_blank的a标签进行处理,下面给出判断页面点击位置标签的代码:

这样,上面的问题就得到了暂时的解决(因为自己并不知道上述问题的真正原因)。


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注