1

一些网站,尤其是那些喜欢 HTML 5 之类的网站,会验证您正在使用的浏览器,如果您的网络浏览器不在其中,则会给您一些警告消息,例如:“警告您正在使用未经测试的浏览器”他们的小白名单。

在此处输入图像描述

遗憾的是,这些网站不将 IE 控件识别为 Internet Explorer 浏览器,因此有时它们会显示不必要的警告/错误

有什么可行的方法让我的 webbrowser 控件显示为 Internet Explorer 9 而不是它实际显示的任何内容,这样如果网站已经测试了 Internet Explorer 9 的功能,它就不会显示任何错误。

谢谢!

4

2 回答 2

2

默认情况下,WebBrowser 控件被检测为 IE7,要查看此内容 - 尝试导航到“我的用户代理是什么”:

WebBrowser1.Navigate("http://www.whatsmyuseragent.com/")

改变这一点的最简单方法是将不同浏览器的用户代理作为“导航”方法的最后一个参数传递。在您的普通 IE9 中打开http://www.whatsmyuseragent.com/,复制显示的字符串并将其用作参数,例如:

WebBrowser1.Navigate("http://www.whatsmyuseragent.com/", Nothing, Nothing, "User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)")
于 2013-08-31T03:29:17.643 回答
1

您遇到的问题是,默认情况下,IE Web 浏览器控件在旧版兼容模式下运行。要解决此问题,请为您的进程设置(如果您的项目是为AnyCPUFeature_Browser_Emulation编译的,请确保同时写入 32 位和 64 位注册表项。有关更多详细信息,请参阅使用 ie10 c# winform 的 webbrowser 。

如果您想发送不同的用户代理字符串(这些站点决定您使用的浏览器版本),您需要使用UrlMkSetSessionOption此处讨论的 URLMon API:http: //blogs.msdn.com/b/ieinternals/ archive/2009/10/08/extending-the-user-agent-string-problems-and-alternatives.aspx

于 2013-08-31T00:55:24.977 回答