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

Bag*_*onè 6 windows internet-explorer iwebbrowser2

我正在开发一台带有IE8浏览器的Win7机器(同样的事情也出现在IE9上).

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

  var txt = "Browser Name: " + navigator.appName + "\n";
  txt += "Browser Version: " + navigator.appVersion + "\n";
  alert(txt);
Run Code Online (Sandbox Code Playgroud)

我收到以下提醒: 在此输入图像描述

这证实了我之前的担忧 - 即使我的机器上安装了IE8\IE9 - IWebBrowser2对象的行为就好像它是IE7(包括所有讨厌的HTML\CSS行为).

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

谢谢,

Hei*_*cht 10

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

阅读Plip在这里的答案IEBlog,以了解如何做到这一点.