我在标准的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?
由于
答案 0 :(得分:1)
虽然我不确定为什么让doctype和meta标签设置仍然阻止WebBrowser控件在IE11模式下运行,但是注册表hack无法正常工作的原因是由于32位的不同和64位注册管理机构。
如果您正在编辑32位应用程序的注册表,那么这些应用程序的注册表项将在另一个名为Wow6432Node的目录抽象中找到。
这是应该进行注册表更改的地方。