【发布时间】:2014-02-03 18:44:16
【问题描述】:
根据这篇文章Interoperable HTML5 Quirks Mode in IE10,基于 HTML5 的 quirks 模式是 IE10 中没有 DOCTYPE 或 X-UA-Compatible 标记的页面的默认 quirks 模式。 IE 的旧 quirks 模式现在称为 Internet Explorer 5 quirks。
在官方 IE10 中是这样的。但不在 WebBrowser 控件中。默认的 quirks 模式是 WebBrowser 控件应用程序中的 IE5 quirks。
例如:对于一个没有 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 控件应用程序的默认 quirks 模式配置为“基于 HTML5 的 quirks 模式”?
感谢您提前回复。
【问题讨论】:
-
你为什么不声明一个Doctype?
-
我无法修改网站页面。
-
来自 IE10 中的 Interoperable HTML5 Quirks Mode 一文,IE5 quirks 模式仅用于那些没有 DOCTYPE 并通过 X-UA-Compatible 选择加入的页面。 我认为我在 WBC 应用程序中最简单的 html 页面的文档模式应该是基于 HTML5 的怪癖,因为它没有 DOCTYPE,并且没有X-UA 兼容标签 (IE=5) 也是。但它的价值是IE5的怪癖。我可以有一些方法让我的 WebBBrowser Control 应用程序在不修改网页的情况下具有相同的怪癖模式吗?
-
嗨,罗兰。我认为这不是一个重复的问题。我已将我的应用程序注册表项添加到“FEATURE_BROWSER_EMULATION”中。我的问题是关于“为什么官方 IE10 默认是 HTML5 Quirks Mode,但我的应用程序默认是 IE5 Quirks Mode”。我无权修改网页(添加 DOCTYPE 或 X-UA-Compatible 元标记等)。
标签: html webbrowser-control internet-explorer-10 quirks-mode