问题描述:
【关于IE8兼容:X-UA-Compatible属性的解释】
复制代码代码如下: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" /
这意味着,会强制浏览器按照最新的标准去渲染 。就像在Googles 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 //ppmeta http-equiv=X-UA-Compatible content=IE=EmulateIE7 /ppmeta 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
推荐阅读
- 全面兼容ie6,ie7,ie8,ff的最简单的css写法
- 兼容性视图模式解决IE8浏览器下网页错位问题
- 兼容IE6、7、8 CSS hacker使用小结
- 修复网页在IE8 下的显示兼容问题
- Css样式兼容IE6,IE7,FIREFOX的浏览器的写法示例介绍
- 让IE支持CSS3的不完全兼容方案
- 兼容IE6,IE8,FF 固定位置显示弹出层
- JavaScript在IE和FF下的兼容性问题
- Win10 Edge浏览器太依赖IE11?只需关闭兼容性列表就搞定
- css:fixed定位兼容不同系列不同版本的浏览器包括IE6.0