我在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开发我的站点。 我该如何解决这个问题?
答案 0 :(得分:41)
应该始终有效的一个解决方案是将您的X-UA-Compatible
放入HTTP标头中。此外,您的<!DOCTYPE>
应在HTML文档的顶部指定(<!DOCTYPE html>
是最简单的文件)。
如果您将X-UA-Compatible
声明放在meta
标记内,则会遇到以下问题:
X-UA-Compatible
is ignored unless it's present inside the first 4k of you page.如果您将其放在head
部分(或body
)底部的某个位置,请将其移至顶部。最好的地方就在编码和语言声明之后。 X-UA-Compatible
放在IE条件注释中,则会被忽略。例如:
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
在这种情况下,您应该删除条件注释。
此外,在doctype
声明之前,您不应该有任何文字。 If you've got any HTML comments there, for example, the IE will switch to quirks mode.
最后,检查您是否从Intranet查看此站点。默认情况下,为Intranet站点启用兼容性视图。
我建议为您的页面设置X-UA-Compatible
标题,然后查看您的网站是否仍在切换到怪异模式。在这种情况下,您应该检查您的标记并尝试修复任何HTML validator errors,直到它恢复到标准模式。