【发布时间】:2013-05-28 06:28:04
【问题描述】:
我的网页有以下文档类型
<!DOCTYPE html>
上面的行是我的 HTML 页面的第一行。
这些在此行之前没有额外的空格或 cmets。
页面仍然处于 IE7 文档模式和<!DOCTYPE html>
当我使用开发人员工具检查 html 页面时被注释掉。
我知道我可以通过包含以下元标记来强制使用某种文档模式
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
但我不应该使用它,我也不应该去工具并更改兼容性视图设置(工具 -> 兼容性视图设置)。我还使用 HTML5 验证器检查了文档是否是有效的 HTML5 文档.
我搜索的一些解决方案是 CSS 导致了这个问题,即。因为使用 Type 1 字体(Helevetica)。我检查了我的 css,但我们没有在任何地方使用这种字体。
基本上我需要知道导致这种异常行为的原因是什么。 是不是某些 css 或 javascript 导致了这种情况。
编辑:正如其中一个 cmets 所述,我尝试加载一个简单的 html 页面,如下所示
<!DOCTYPE html>
<html>
<head>
<title>Hello Wrold</title>
</head>
<body>
<div>hello world!!</div>
</body>
</html>
它的行为方式相同。以 IE7 文档模式加载页面。
【问题讨论】:
-
@NathanLee 我已经检查了这个链接。我已经阅读了几乎所有与 IE 兼容模式相关的问题。并且文档类型正确编写,我也知道元标记解决方案。我需要知道除了我在问题中提到的任何其他原因。以及针对这些原因的解决方案。
-
最合理的建议在这里:hsivonen.iki.fi/doctype/#ie8。不太可能有任何进一步的原因。 doctype 的注释是在 IE7 模式下的结果,而不是原因。
-
这是在内网服务器上吗?还有其他你尝试过的东西吗?例如其他 HTML 文件(更简单的,但仍然使用 HTML5 DOCTYPE)是否表现相同?如果是这样,请将该信息添加到问题中。顺便说一句,我有点担心你说你不应该更改 IE 的兼容性视图设置。现在这些设置是什么?
-
那么你的内网没有办法强制标准模式,浏览器设置总是会覆盖。
标签: css html internet-explorer-9 ie-compatibility-mode