我的网页有以下文档类型
<!DOCTYPE html>
上面一行是我的 HTML 页面的第一行。
此行之前没有额外的空格或注释。
页面仍然进入 IE7 文档模式和 <!DOCTYPE html>
当我使用开发人员工具检查 html 页面时被注释掉。
我知道我可以通过包含以下元标记来强制某种文档模式
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
但我不应该使用它,我也不应该使用工具并更改兼容性 View 设置(工具 -> 兼容性 View 设置)。我还使用 HTML5 验证器检查了该文档是否是有效的 HTML5 文档.
我搜索的一些解决方案是 CSS 导致此问题的,即。因为使用 Type 1 字体 (Helevetica)。我检查了我的 css,我们没有在任何地方使用这种字体。
基本上我需要知道导致这种异常行为的原因是什么。 是某些 css 还是 javascript 导致了这种情况。
编辑:如其中一条评论所述,我尝试按如下方式加载一个简单的 html 页面
<!DOCTYPE html>
<html>
<head>
<title>Hello Wrold</title>
</head>
<body>
<div>hello world!!</div>
</body>
</html>
它的行为方式相同。页面在 IE7 文档模式下加载。
最佳答案
检查您的 html 文件并确保文档开头没有 BOM(字节顺序标记)。这可能会导致某些浏览器出现问题。为了进行检查,请使用 Adobe Dreamweaver 或 Notepad++ 之类的东西。 在记事本中以ANSI模式打开文件,检查前面是否有字符,删除它们并另存为不带bom的UTF-8(在notepad++中保存时的选项)
关于css - IE9 在 IE7 文档模式下抛出我的页面并且 <!DOCTYPE html> 被注释掉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16785222/