Web浏览器控件默认IE版本

Posted

技术标签:

【中文标题】Web浏览器控件默认IE版本【英文标题】:Web browser control default IE version 【发布时间】:2014-02-05 03:10:05 【问题描述】:

我的 WPF 应用程序中有一个嵌入式浏览器。我通过使用 Windows 窗体主机来使用 Windows 窗体 Web 浏览器控件。我知道 Web 浏览器控件是 Internet Explorer Active x 的包装器。 Web浏览器控制默认采用哪个版本的IE。我读了一些地方,因为它需要 IE 6.0,而在某些站点中,它需要 IE 7 兼容模式。我还需要在注册表中升级 IE 的版本。请说清楚。

【问题讨论】:

【参考方案1】:

您并没有太多选择,这取决于安装的 Internet Explorer 版本。

在 IE 8+ 中,默认情况下 WebBrowser 控件的内容处于 IE7 标准模式,请参阅以下 IEBlog 帖子:

http://blogs.msdn.com/b/ie/archive/2011/03/24/ie9-s-document-modes-and-javascript.aspx http://blogs.msdn.com/b/ie/archive/2010/10/19/testing-sites-with-browser-mode-vs-doc-mode.aspx http://blogs.msdn.com/b/ie/archive/2010/03/02/how-ie8-determines-document-mode.aspx http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx http://blogs.msdn.com/b/ie/archive/2009/06/17/compatibility-view-and-smart-defaults.aspx http://blogs.msdn.com/b/ie/archive/2008/06/10/introducing-ie-emulateie7.aspx

MSDN 库中可能有一些规范。

【讨论】:

【参考方案2】:

基本上是IE7。可以使用下面的 javacript 来检查 IE 版本

alert('IE '+document.documentMode+'\n\n'+navigator.userAgent)"

您可以通过FEATURE_BROWSER_EMULATION注册表设置浏览器仿真版本。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"myprogram.exe"=dword:00002af8

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"myprogram.exe"=dword:00002af8

详情可参考https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)?redirectedfrom=MSDN

或https://blog.malwarebytes.com/101/2016/01/a-brief-guide-to-feature_browser_emulation/的“FEATURE_BROWSER_EMULATION 简要指南”

【讨论】:

以上是关于Web浏览器控件默认IE版本的主要内容,如果未能解决你的问题,请参考以下文章

IE、谷歌如何通过js读取Excel中数据到Web页面的表格?

WebBrowser引用IE版本问题,更改使用高版本IE

如何获得嵌入式 IE ActiveX 控件的版本?

WPF WebBrowser 浏览器版本

启动web项目时如何设置默认用IE浏览器

免费web直接打印的控件PAZU