【问题标题】:webbrowser control version浏览器控制版本
【发布时间】:2012-06-07 10:18:56
【问题描述】:

我在某处读到 MS Visual Studio 中的 webbrowser 控件使用与我电脑上安装的 IE 相同的引擎。尽管如此,我发现这是不正确的。为了证明我的假设,我使用了各种在线浏览器检测站点。我在这里展示结果: (1) 安装在我的电脑上的 IE(64 位和 32 位): 浏览器信息:. 浏览器:微软 Internet Explorer 浏览器版本:9.0 用户代理字符串:Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;Trident/5.0)

(2) 网络浏览器控件 (C#): 浏览器信息: 浏览器:微软 Internet Explorer 浏览器版本:7.0 用户代理字符串:Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.1;WOW64;Trident/5.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0 ;.NET4.0C;.NET4.0E)

我开始搜索它,因为每当我尝试访问特定站点时,我都遇到了与 webbrowser 控件的兼容性问题(尽管有警告,但它工作正常)。 我使用 gecko 12 来模拟 firefox,但网站检测到我没有使用 firefox,我再次收到警告消息... 所以问题是:我怎样才能“作弊”和绕过检测,这样我就不会在每次点击后收到警告消息?我正在寻找一种程序化的方式来做到这一点。

【问题讨论】:

标签: browser version gecko


【解决方案1】:

似乎没有简单的方法可以通过编程来做到这一点。这一切都在注册表中。 我不明白为什么... 无论如何,答案是here。 webbrowser 控件默认使用兼容模式。即使IE不会使用兼容模式,控件也会。

【讨论】:

    【解决方案2】:

    Webbrowser 控件使用机器上安装的 IE。默认情况下,它在 IE 7 兼容模式下运行。 要设置您的兼容模式,您需要在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION 中列出您的应用程序以及所需的兼容模式。

    【讨论】:

      猜你喜欢
      • 2015-11-07
      • 1970-01-01
      • 2010-09-26
      • 2014-02-05
      • 2018-09-14
      • 2015-06-05
      • 1970-01-01
      • 2011-05-28
      • 2017-01-01
      相关资源
      最近更新 更多