HTML1115: 因为文档模式已经最终确定,所以忽略了'IE=9, IE=8, chrome=1'的X-UA-Compatible META标签。

11

我收到了如下警告:

HTML1115: X-UA-Compatible META tag ('IE=9, IE=8, chrome=1') ignored because document mode is already finalized.

当我在IE9中尝试打开我的网站时,我遇到了addthis脚本:

<script type="text/javascript" src="https://s7.addthis.com/js/250/addthis_widget.js#async=1"></script>

添加谷歌+按钮

<a class="addthis_button_google_plusone" g:plusone:size="medium"></a>

当我注释掉这一行时,警告就消失了。我该如何解决这个问题?

1个回答

17

x-ua-compatible元标记必须出现在除了meta和title之外的所有其他元素之前。

否则,文档模式已经确定,IE将忽略后续尝试来提示它使用哪个文档模式。


3
尝试过这个,但没有成功 :( - Viacheslav Kondratiuk
根据这篇文章:http://evolpin.wordpress.com/2011/02/25/ie9-compatibility-and-the-meta-tag/,它必须是所有meta标签中的第一个。不幸的是,我更喜欢charset=utf-8而不是这个特定于浏览器的标签,因为字符集需要非常早地出现。 - Kzqai
重新解释Timo Lehto的话:关于声明是否需要成为标题中的第一个元素,答案是否定的。只要在标题中它之前只有其他meta标签或标题标签,那么它就不需要是第一个元素。以下是MSDN上的一些引用:“X-UA-Compatible头部不区分大小写;但是,它必须出现在网页的头部(HEAD部分)中,除了标题元素和其他meta元素之外的所有其他元素之前。” - jinglesthula
继续改写:如果您在让浏览器意识到此问题时遇到困难,请确保重置浏览器/服务器缓存。您还可以选择让您的 Web 服务器在 http 标头上设置兼容模式选项:“Web 服务器也可以配置为指定 X-UA-Compatible 标头。如果 Web 服务器指定了标头,并且标头也出现在网页内容中,则网页中的标头优先于服务器指定的标头。” - jinglesthula
我认为我已经看到过一些额外的空格或换行符在doctype或html标记之前会影响这种情况。对于那些没有成功的人,您可以检查发送的内容,并确保它看起来不像是发送了触发文档模式决策的内容。 - jinglesthula

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接