首页 文章

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

提问于
浏览
1

在本文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 回答

  • 1

    如果您希望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

  • 2

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

    如果这不适合您,我建议使用像regmon这样的工具来确认它正在读取您应用程序的注册表项 .

相关问题