問題描述:
復(fù)制代碼代碼如下:<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
1、這個(gè)到底是什么意思?
2、一些示例使用”,”分離IE的版本,而一些使用”;“,哪個(gè)正確?
3、我想知道IE=9; IE=8; IE=7; IE=EDGE順序的含義。
在文檔中使用了<!DOCTYPE>
答復(fù):
對(duì)于IE8及以上版本,例如:
復(fù)制代碼代碼如下:<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7" />
強(qiáng)制瀏覽器按照特定的版本標(biāo)準(zhǔn)進(jìn)行渲染。但不支持IE7及以下版本。如果用分號(hào)(;)分隔,對(duì)于不同的瀏覽器版本就有不同的兼容性,例如
復(fù)制代碼代碼如下:<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />
以上就表明,將IE8和IE7按照IE7標(biāo)準(zhǔn)渲染,但是IE9還是按照IE9的標(biāo)準(zhǔn)渲染。它允許有不同的向后兼容水平。盡管在真實(shí)情況中,你只要選擇一種版本:
復(fù)制代碼代碼如下:<meta http-equiv="X-UA-Compatible" content="IE=8" />
這對(duì)于測(cè)試和維護(hù)會(huì)更加簡(jiǎn)單。而通常更加有用的方式就是進(jìn)行仿真模擬
復(fù)制代碼代碼如下:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
對(duì)于IE=EDGE
復(fù)制代碼代碼如下:<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
這意味著,會(huì)強(qiáng)制瀏覽器按照最新的標(biāo)準(zhǔn)去渲染。就像在Google’s CDN使用最新版本的JQuery一樣,這是按照最新版本,但也可能由于沒有固定的版本而破壞你的布局。
最后,考慮下面這個(gè)
復(fù)制代碼代碼如下:<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
添加”chrome=1“將允許站點(diǎn)在使用了谷歌瀏覽器內(nèi)嵌框架(Chrome Frame)的客戶端渲染,對(duì)于沒有使用的,則沒有任何影響。
復(fù)制代碼代碼如下:
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是針對(duì) IE8 版本的一個(gè)特殊文件頭標(biāo)記,用于為 IE8 指定不同的頁面渲染模式,對(duì)于ie8之外的瀏覽器是不識(shí)別的。
目前絕大多數(shù)網(wǎng)站都用<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ >來作為IE8的兼容方法。為了避免制作出的頁面在IE8下面出現(xiàn)錯(cuò)誤,建議直接將IE8使用IE7進(jìn)行渲染。也就是直接在頁面的header的meta標(biāo)簽中加入如下代碼:
復(fù)制代碼代碼如下:
<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
更多信息請(qǐng)查看IT技術(shù)專欄