26

我在 IE9 中打开我的网站时遇到问题。当我尝试打开我的网站时,我在开发工具中收到此错误:

HTML1113: Document mode restart from Quirks to IE9 Standards

我用谷歌搜索并找到了一个建议使用这个的答案:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

或者

<meta http-equiv="X-UA-Compatible" content="IE=IE9" />

...但是这些不起作用,这次我收到以下消息:

HTML1115: X-UA-Compatible META tag ('IE=Edge') ignored because document mode is already finalized.

我的问题是什么?我阅读了几篇文章,例如Microsoft的 IE 为站点开发人员提供的兼容性功能,并使用确定 IE9 的文档模式流程图来跟踪我的站点,并在这些站点上使用与!doctype相关的所有建议,但没有人能解决我的问题,并且我的 IE 引擎在页面后重置打开。

我在 Windows Server 2008 上使用 ASP.NET 4 开发我的网站。如何解决这个问题?

4

1 回答 1

42

一种应该始终有效的解决方案是将您X-UA-Compatible的 HTTP 标头放入其中。此外,您<!DOCTYPE>应该在 HTML 文档的顶部指定(这<!DOCTYPE html>是最简单的)。

如果您将X-UA-Compatible声明放在meta标签内,您可能会遇到以下问题:

  1. X-UA-Compatible除非它出现在您页面的前 4k 中,否则将被忽略。如果你把它放在你的head部分底部(或在body)的某个地方,把它移到顶部。最好的地方是在编码和语言声明之后。
  2. X-UA-Compatible如果放在 IE 条件注释中,则会被忽略。例如:

    <!--[if IE]>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <![endif]-->
    

    在这种情况下,您应该删除条件注释。

  3. 此外,您不应该在doctype声明之前有任何文本。例如,如果那里有任何 HTML 注释,IE 将切换到 quirks 模式。

  4. 最后,检查您是否从 Intranet 上查看此站点。默认情况下,为 Intranet 站点启用兼容性视图。

我建议X-UA-Compatible为您的页面设置标题,然后查看您的网站是否仍在切换到怪癖模式。在这种情况下,您应该检查您的标记并尝试修复任何HTML 验证器错误,直到它返回标准模式。

于 2012-06-19T07:20:48.043 回答