windows - IWebBrowser2对象使用IE7版本,而不是机器上安装的IE版本

标签 windows internet-explorer iwebbrowser2

我正在使用 IE8 浏览器的 Win7 机器上进行开发(同样的事情也发生在 IE9 上)。

我创建了一个应用程序,在 native 窗口中嵌入了一个 IWebBrowser2 对象。
在该浏览器对象中,我执行了一个 javascipt 代码:

  var txt = "Browser Name: " + navigator.appName + "\n";
  txt += "Browser Version: " + navigator.appVersion + "\n";
  alert(txt);

我收到以下警报:enter image description here

这证实了我早先的担忧 - 即使在我的机器上安装了 IE8\IE9 - IWebBrowser2 对象的行为就好像它是 IE7(包括所有烦人的 HTML\CSS 行为)。

有人知道这是为什么吗?或更好 - 如果有任何可能将浏览器对象嵌入为 IE8\IE9(用于分发 - 所以它应该是合法的)

谢谢,

最佳答案

IE7 是嵌入式 IE 控件的默认呈现模式(出于兼容性原因)。使用 FEATURE_BROWSER_EMULATION更改它的注册表项。

阅读Plip's answer over hereIEBlog了解如何执行此操作。

关于windows - IWebBrowser2对象使用IE7版本,而不是机器上安装的IE版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6914664/

相关文章:

windows - 是否可以运行 Docker Windows 容器并编辑注册表(regedit)?

c++ - Winsock 端口监听器

windows - ghdl 不生成二进制文件 (windows)

c# - C# WebBrowser Control 和我电脑上安装的 IE 有什么关系?

javascript - 如何摆脱 "Are you sure you want to leave this page"消息?

c# - SQLite for WinRT 未通过 Windows 应用程序认证套件

internet-explorer - 如何通过注册表启用 ActiveX 插件? (IE8、Windows 7)

c# - 如何获取触发 downloadBegin() 事件的 URL?

c++ - 带有 IWebBrowser 组件的 CDialog,退格键不起作用

Delphi TWebBrowser 中的 Javascript,关闭线程