在本文Interoperable HTML5 Quirks Mode in IE10中,对于没有DOCTYPE或X-UA兼容标记的页面, HTML5-based quirks mode 是IE10中的默认怪癖模式 . IE的遗留怪癖模式现在称为 Internet Explorer 5 quirks .
在官方IE10中,它是 . 但不是在WebBrowser控件中 . 默认的怪癖模式是WebBrowser控件应用程序中的IE5怪癖 .
例如:对于没有DOCTYPE或X-UA-Compatible标记的最简单的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 回答
如果您希望IE10 Web浏览器控件显示没有doctype的页面,则需要设置以下两个注册表项才能使其正常工作 .
Key :HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION
Value :yourappname.exe
Type :( DWORD_32Bit值)
Data :0x2711
Key :HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_USE_QME_FOR_TOPLEVEL_DOCS
Value :yourappname.exe
Type :REG_DWORD(DWORD_32Bit值)
Data :1
要强制文档在Web浏览器控件中以IE10标准模式显示(与DOCTYPE无关),注册表项的键值为
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\MyApp.exe
(其中MyApp.exe
是应用程序的exe文件的名称)should be0x2711
.如果这不适合您,我建议使用像regmon这样的工具来确认它正在读取您应用程序的注册表项 .