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

Ami*_*avi 26 javascript asp.net doctype internet-explorer-9

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

HTML1113: Document mode restart from Quirks to IE9 Standards
Run Code Online (Sandbox Code Playgroud)

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

<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Run Code Online (Sandbox Code Playgroud)

要么

<meta http-equiv="X-UA-Compatible" content="IE=IE9" />
Run Code Online (Sandbox Code Playgroud)

...但这些不起作用,这次我得到以下信息:

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

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

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

And*_*кин 42

一个应该始终有效的解决方案是放入X-UA-CompatibleHTTP标头.此外,您<!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]-->
    
    Run Code Online (Sandbox Code Playgroud)

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

  3. 此外,您不应在doctype声明之前提供任何文本.例如,如果你有任何HTML评论,那么IE将切换到怪癖模式.

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

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