"X-UA-Compatible" 内容="IE=9; IE=8; IE=7; IE=EDGE" 的翻译是:兼容模式设置,支持 IE9、IE8、IE7 和 EDGE。

234
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
  1. 这个声明的意义是什么?

  2. 有些例子使用,来分隔IE的版本,而有些使用;,哪个是正确的?

  3. IE=9; IE=8; IE=7; IE=EDGE的顺序有一定的重要性,我想知道具体是什么。

编辑:我正在使用<!DOCTYPE html>


我认为IE=9不适合X-UA-Compatible - Krish
3
谷歌实际上建议这样做:https://developers.google.com/web-toolkit/doc/latest/DevGuideIE9 - PlantTheIdea
1
http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html - Kuttan Sujith
2个回答

330

如果您需要支持IE浏览器,针对Internet Explorer 8版本及以上的浏览器,请使用以下代码:

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7" />

强制浏览器按照指定版本的标准渲染页面。不支持IE7及以下版本。

如果使用分号分隔,可以设置不同版本的兼容性级别。例如:

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

将IE7和IE8渲染为IE7,但将IE9渲染为IE9。它允许不同级别的向后兼容性。但在实际应用中,你应该只选择其中一种选项:

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

这样可以更容易进行测试和维护。虽然通常更有用的版本是使用 Emulate:

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

对于这件事:

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

它强制浏览器按照最近版本的标准呈现页面。

要了解更多信息,请参阅MSDN上的相关文章


10
IE=9; IE=8; IE=7; IE=EDGE 这个顺序有一定的重要性,我想了解为什么。 - Kuttan Sujith
我对此有一些理解上的空白。如果我的测试目标是IE8,但我不想破坏IE7,那么你会将这个meta标签设置为什么?其他浏览器是否也使用它? - Snekse
2
IE7不会识别此项,这是在IE8中首次实现的。以上提到IE7的整个参考是因为,例如,您正在使用IE7作为测试基础,并希望所有更现代版本的IE以IE7标准呈现。没有其他浏览器使用此标签。 - PlantTheIdea
1
IE10在IE=8(YMMV)下呈现旧的Web应用程序效果良好,但是IE11模拟IE8会出现问题。UA:content="IE=8; IE=11"在IE10中以IE10 Compat文档模式IE8标准呈现,在IE11中以Edge文档模式呈现。IE10和IE11 UA分配的一个问题是Microsoft删除了条件注释。 - Underverse
参见:https://dev59.com/8mw15IYBdhLWcg3wMY2L - pdwalker
显示剩余5条评论

4
在某些情况下,有必要将网页的显示限制为早期版本的Internet Explorer支持的文档模式。您可以通过提供一个x-ua-compatible头来实现这一点。更多信息请参见指定旧版文档模式。
- https://msdn.microsoft.com/library/cc288325 因此,该标记用于未来证明网页,使其使用较旧/兼容的引擎以与创建者预期的方式呈现。请确保已检查它能够与您所指定的IE版本正常工作。

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