問題描述:
復(fù)制代碼代碼如下:<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>
答復(fù):
對于ie8及以上版本,例如:
復(fù)制代碼代碼如下:<meta http-equiv=x-ua-compatible content=ie=9; ie=8; ie=7 />
強制瀏覽器按照特定的版本標(biāo)準(zhǔn)進(jìn)行渲染。但不支持ie7及以下版本。如果用分號(;)分隔,對于不同的瀏覽器版本就有不同的兼容性,例如
復(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)渲染。它允許有不同的向后兼容水平。盡管在真實情況中,你只要選擇一種版本:
復(fù)制代碼代碼如下:<meta http-equiv=x-ua-compatible content=ie=8 />
這對于測試和維護(hù)會更加簡單。而通常更加有用的方式就是進(jìn)行仿真模擬
復(fù)制代碼代碼如下:<meta http-equiv=x-ua-compatible content=ie=emulateie8 />
對于ie=edge
復(fù)制代碼代碼如下:<meta http-equiv=x-ua-compatible content=ie=edge />
這意味著,會強制瀏覽器按照最新的標(biāo)準(zhǔn)去渲染。就像在google’s cdn使用最新版本的jquery一樣,這是按照最新版本,但也可能由于沒有固定的版本而破壞你的布局。
最后,考慮下面這個
復(fù)制代碼代碼如下:<meta http-equiv=x-ua-compatible content=ie=edge,chrome=1 />
添加”chrome=1“將允許站點在使用了谷歌瀏覽器內(nèi)嵌框架(chrome frame)的客戶端渲染,對于沒有使用的,則沒有任何影響。
復(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是針對 ie8 版本的一個特殊文件頭標(biāo)記,用于為 ie8 指定不同的頁面渲染模式,對于ie8之外的瀏覽器是不識別的。
目前絕大多數(shù)網(wǎng)站都用<meta http-equiv=”x-ua-compatible” content=”ie=emulateie7″ >來作為ie8的兼容方法。為了避免制作出的頁面在ie8下面出現(xiàn)錯誤,建議直接將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
更多信息請查看IT技術(shù)專欄