对于IE10,为什么WebBrowser控件的默认怪癖模式是“Internet Explorer 5怪癖”?

时间:2014-01-15 10:32:33

标签: html5 webbrowser-control internet-explorer-10 quirks-mode

在本文Interoperable HTML5 Quirks Mode in IE10中,对于那些没有DOCTYPE或X-UA兼容标记的网页,基于HTML5的怪癖模式是IE10中的默认怪癖模式。 IE的传统怪癖模式现在被称为 Internet Explorer 5怪癖

在官方IE10中,它是。但不是在WebBrowser控件中。默认的怪癖模式是WebBrowser控件应用程序中的IE5怪癖。

例如:对于没有DOCTYPE或X-UA兼容标签的最简单的html页面:

<html>
<head>
<meta charset="UTF-8" />
<title>Get documentMode!</title>
</head>
<body>
<h2>document.documentMode</h2>
<p>
<script>
document.write(document.documentMode);
</script>
<p>
</body>
</html>

官方IE10中的documentMode = 10,但是WebBrowser控件应用程序中的documentMode = 5(在测试之前,我添加了注册表项值:HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION \ MyApp.exe到10000,或十进制10001。

为什么行为不同?

如何将WebBrowser控件应用程序的默认怪癖模式配置为“基于HTML5的怪癖模式”?

感谢您的回复。

2 个答案:

答案 0 :(得分:2)

如果您希望IE10 Web浏览器控件显示没有doctype的页面,则需要设置以下两个注册表项才能使其正常工作。

:HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION
:yourappname.exe
输入 :( DWORD_32Bit值)
数据:0x2711

密钥:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_USE_QME_FOR_TOPLEVEL_DOCS
:yourappname.exe
键入:REG_DWORD(DWORD_32Bit值)
数据:1

答案 1 :(得分:1)

要强制文档在Web浏览器控件中以IE10标准模式显示(与DOCTYPE无关),注册表项HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\MyApp.exe的DWORD值(其中MyApp.exe是应用程序的exe文件的名称)should be 0x2711

如果这对您不起作用,我建议使用regmon之类的工具来确认它正在读取您应用程序的注册表项。