评论

收藏

[Html/CSS] 关于IE8兼容:X-UA-Compatible属性的解释

开发技术 开发技术 发布于:2021-09-15 12:38 | 阅读数:547 | 评论:0

问题描述:

代码如下:
<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原链接;https://stackoverflow.com/questions/14611264/x-ua-compatible-content-ie-9-ie-8-ie-7-ie-edge?answertab=active#tab-top

关注下面的标签,发现更多相似文章