如何修复IE 9中的文档模式重启

时间:2012-06-19 06:10:49

标签: javascript asp.net internet-explorer-9 doctype

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

HTML1113: Document mode restart from Quirks to IE9 Standards

我用Google搜索并找到了建议使用此答案的答案:

<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’s Compatibility Features for Site Developers,并使用Determining IE9’s Document Mode流程图跟踪了我的网站,并在这些网站上使用了与!doctype 相关的所有建议,但没有人可以解决我的问题,页面打开后我的IE引擎重置。

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

1 个答案:

答案 0 :(得分:41)

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

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

  1. X-UA-Compatible is ignored unless it's present inside the first 4k of you page.如果您将其放在head部分(或body)底部的某个位置,请将其移至顶部。最好的地方就在编码和语言声明之后。
  2. 如果
  3. X-UA-Compatible放在IE条件注释中,则会被忽略。例如:

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

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

  4. 此外,在doctype声明之前,您不应该有任何文字。 If you've got any HTML comments there, for example, the IE will switch to quirks mode.

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

  6. 我建议为您的页面设置X-UA-Compatible标题,然后查看您的网站是否仍在切换到怪异模式。在这种情况下,您应该检查您的标记并尝试修复任何HTML validator errors,直到它恢复到标准模式。