Windows.Forms.WebBrowser控件未使用正确的文档模式

时间:2014-04-24 05:28:27

标签: c# .net webbrowser-control

我在标准的Windows窗体应用程序中有一个WebBrowser控件。

它运行的机器安装了IE11。

其中wbr是WebBrowser控件的一个实例,wbr.Version.Major返回11表示它正在使用IE11。

当指向一个网页时,文档顶部有以下内容:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge"/>

在Javascript中调用document.documentMode会返回'8'。

这意味着页面在IE8文档模式下呈现(并反映在输出中,CSS3属性未正确呈现)。

我还将注册表中的浏览器仿真模式设置为11001和11000,对应用程序没有明显影响。 (见http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx#browser_emulation

虽然同时定义了doctype和meta标签,但有人可以解释为什么IE11 WebBrowser控件将文档模式设置为8?

由于

1 个答案:

答案 0 :(得分:1)

虽然我不确定为什么让doctype和meta标签设置仍然阻止WebBrowser控件在IE11模式下运行,但是注册表hack无法正常工作的原因是由于32位的不同和64位注册管理机构。

如果您正在编辑32位应用程序的注册表,那么这些应用程序的注册表项将在另一个名为Wow6432Node的目录抽象中找到。

这是应该进行注册表更改的地方。