关于IE8兼容:X-UA-Compatible属性的解释

作者:佚名     字体:[增加 减小]    类型:转载
这篇文章主要介绍了关于IE8兼容:X-UA-Compatible属性的解释,本文翻译自顶尖程序员问答社区StackOverFlow,需要的朋友可以参考下

问题描述:


<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>

答复:

对于IE8及以上版本,例如:


 <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" />
以上就表明,将IE8和IE7按照IE7标准渲染,但是IE9还是按照IE9的标准渲染。它允许有不同的向后兼容水平。尽管在真实情况中,你只要选择一种版本:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
这对于测试和维护会更加简单。而通常更加有用的方式就是进行仿真模拟
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
对于IE=EDGE
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
这意味着,会强制浏览器按照最新的标准去渲染。就像在Google’s CDN使用最新版本的JQuery一样,这是按照最新版本,但也可能由于没有固定的版本而破坏你的布局。

最后,考虑下面这个

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
添加”chrome=1“将允许站点在使用了谷歌浏览器内嵌框架(Chrome Frame)的客户端渲染,对于没有使用的,则没有任何影响。
For more information, there is plenty to read here, and if you want to learn about ChromeFrame (which I recommend) you can learn about its implementation here.

PS:X-UA-Compatible是针对 IE8 版本的一个特殊文件头标记,用于为 IE8 指定不同的页面渲染模式,对于ie8之外的浏览器是不识别的。

目前绝大多数网站都用<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ >来作为IE8的兼容方法。为了避免制作出的页面在IE8下面出现错误,建议直接将IE8使用IE7进行渲染。也就是直接在页面的header的meta标签中加入如下代码:

<meta http-equiv=”X-UA-Compatible” content=”IE=7″ /></p>
<p><meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ ></p>
<p><meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE8″ >
但是<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ >仍然是首选。

StackOverFlow原链接;http://stackoverflow.com/questions/14611264/x-ua-compatible-content-ie-9-ie-8-ie-7-ie-edge?answertab=active#tab-top