【问题标题】:IE9 throws my page in IE7 document mode and <!DOCTYPE html> gets commented outIE9 以 IE7 文档模式抛出我的页面,并且 <!DOCTYPE html> 被注释掉
【发布时间】:2013-05-28 06:28:04
【问题描述】:

我的网页有以下文档类型

<!DOCTYPE html>

上面的行是我的 HTML 页面的第一行。 这些在此行之前没有额外的空格或 cmets。 页面仍然处于 IE7 文档模式和&lt;!DOCTYPE html&gt; 当我使用开发人员工具检查 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


【解决方案1】:

检查您的 html 文件并确保文档开头没有 BOM(字节顺序标记)。这可能会导致某些浏览器出现问题。为了检查,请使用 Adob​​e Dreamweaver 或 Notepad++ 之类的东西。 在记事本中以ANSI模式打开文件并检查之前是否有字符,删除它们并保存为不带bom的UTF-8(在记事本++中保存时的选项)

【讨论】:

    【解决方案2】:

    我的经验是,这正是 IE DevTools 在模拟不同文档模式时的工作方式。它不依赖于您页面的内容。

    【讨论】:

      猜你喜欢
      • 2013-02-03
      • 1970-01-01
      • 2013-03-25
      • 2012-06-16
      • 1970-01-01
      • 2011-10-13
      • 2014-02-12
      • 1970-01-01
      • 2013-01-01
      相关资源
      最近更新 更多