我应该使用哪种X-UA-Compatible模式?

8

我一直在研究如何使用文档兼容性元标记来优化网页。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">

我有点困惑,对于xhtml transitional doctype来说,哪种内容值是合适的/共识,并逐渐转向HTML5 doctype。

我们仍然支持IE6、IE7,所以IE=EmulateIE8是否最合适。

有人可以帮忙吗?


1
请查看此处的答案,了解有关X-UA-Compatible的更多信息:https://dev59.com/8mw15IYBdhLWcg3wMY2L#6771584 - L84
3个回答

8
支持各种IE浏览器与兼容模式无关。X-UA-Compatible头部只是让IE浏览器使用最新的、最现代的布局引擎来呈现网站。如果设置content="IE=edge",则IE9支持所有IE8、IE7、IE6和怪异模式。IE10将支持IE9及以下版本引擎进行渲染。因此,如果设置content="IE=6",则特定的IE浏览器将使用IE 6引擎来呈现网站,这完全违背了使用现代浏览器的目的。
在HTML5 Boilerplate中,我们还添加了chrome=1,因此,如果安装了Chrome Frame,则该网站将利用它并像Chrome一样呈现网站。

谢谢,这很有道理。 - NiseNise

4
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">  

“is the one you want to use”是您想要使用的,但今天早上我记不得原因了,但这是我们在各个地方都使用的。

由于IE有各种形式和版本组合,我相信有数百种IE编码变体。生活真是美好啊!


0
如果您想要创建新的网页用于公共互联网,我的建议是使用HTML5文档类型或其他严格的文档类型,并且不要使用X-UA-Compatible元标记。顺便说一下,这相当于使用IE=edge。这适用于与所有版本的IE兼容的网页。
如果您没有时间或意愿立即更新现有页面以支持最新版本的IE,则可以将X-UA-Compatible元标记添加到仅与IEn及更低版本兼容的现有页面中。在这种情况下,您可以使用IE=n,其中n是页面可用的最新版本的IE。比n更高的IE版本将进入“IEn模式”,并像IEn一样呈现页面。请注意,n不能小于7,因为这是第一个支持此系统的版本。实际页面上使用IE=EmulateIEn没有任何意义,这只对通过http向整个站点发送通用标头而不是修改单个页面时有用。在这种情况下,如果页面上有严格的文档类型,则EmulateIEn将进入“IEn模式”,否则将进入“怪异模式”。

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