如果一个网页以
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
如果页面以开头
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
如果没有区别,我想我可以忽略X-UA-兼容的元头,因为我只希望它在所有IE版本中以最标准的模式呈现。
如果一个网页以
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
如果页面以开头
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
如果没有区别,我想我可以忽略X-UA-兼容的元头,因为我只希望它在所有IE版本中以最标准的模式呈现。
当前回答
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
要使这条线按预期工作,请确保:
它是<head>之后的第一个元素在元标记之前不使用条件注释,例如在<html>元素上
否则,某些IE版本会忽略它。
更新
这两条规则被简化了,但它们很容易记住和验证。尽管MSDN文档指出您可以将标题和其他元标记放在这个之前,但我不建议这样做。
如何使用条件注释。
关于头部元素顺序的有趣文章。(blogs.msdn.com,用于IE)
参考
从MSDN文档中:
X-UA-Compatible[…]必须出现在网页的标题中(HEAD部分)在除标题元素和其他元元素之外的所有其他元素之前。
其他回答
为了完整起见,您实际上不必将其添加到HTML中(这在HTML5中是未知的http equiv)
这样做,永远不要回头看(第一个例子是apache,第二个例子是nginx)
Header set X-UA-Compatible "IE=Edge,chrome=1"
add_header X-UA-Compatible "IE=Edge,chrome=1";
只需一句话,即可指导Internet Explorer使用其最新的渲染引擎
<meta http-equiv="x-ua-compatible" content="ie=edge">
我认为这张来自微软的图表解释了一切。为了告诉IE如何呈现内容!DOCTYPE必须与X-UA-兼容的元标记一起使用!DOCTYPE本身对更改IE文档模式没有影响。
http://ie.microsoft.com/testdrive/ieblog/2010/Mar/02_HowIE8DeterminesDocumentMode_3.png
2.1.3.5 X-UA-兼容元标记和HTTP响应头
此功能不会在任何版本的Microsoft Edge中实现。
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
看见https://msdn.microsoft.com/en-us/library/ff955275(v=vs.85).aspx
是的,我知道我参加派对迟到了,但我只是有一些问题和讨论,最后我的老板让我从我一直在处理的所有文件中删除了X-UA-兼容标签。
如果此信息已过时或不再相关,请更正。
不同之处在于,如果只指定DOCTYPE,IE的兼容性视图设置优先。默认情况下,这些设置强制所有intranet站点进入兼容性视图,而不管DOCTYPE如何。还有一个复选框可用于所有网站,无论DOCTYPE如何。
X-UA-Compatible覆盖兼容性视图设置,因此无论浏览器设置如何,页面都将以标准模式呈现。这将强制标准模式用于:
intranet页面当计算机管理员选择“在兼容性视图中显示所有网站”作为默认设置时,请考虑大公司、政府、大学当您无意中出现在Microsoft兼容性视图列表中时用户手动将您的网站添加到“兼容性视图设置”列表中的情况
仅DOCTYPE无法做到这一点;在这些情况下,无论DOCTYPE如何,您都将进入“兼容性视图”模式之一。
如果同时指定了元标记和HTTP标头,则元标记优先。
这个答案是基于检查IE8、IE9和IE10中决定文档模式的完整规则。注意,查看DOCTYPE是决定文档模式的最后一步。