關于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一樣 , 這是按照最新版本,但也可能由于沒有固定的版本而破壞你的布局 。
【關于IE8兼容:X-UA-Compatible屬性的解釋】最后,考慮下面這個
復制代碼代碼如下: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
