本文轉自http://www.ryanbay.com/?p=269,感謝該做者的總結javascript
X-UA-Compatible是自從IE8新加的一個設置,對於IE8如下的瀏覽器是不識別的。 經過在meta中設置X-UA-Compatible的值,能夠指定網頁的兼容性模式設置。html
在網頁中指定的模式優先權高於服務器中(經過HTTP Header)所指定的模式。 兼容性模式設置優先級:html5
meta tag > http header
meta tag > http headerjava |
經常使用的例子:node
<meta http-equiv="X-UA-Compatible" content="IE=7"> #以上代碼告訴IE瀏覽器,不管是否用DTD聲明文檔標準,IE8/9都會以IE7引擎來渲染頁面。 <meta http-equiv="X-UA-Compatible" content="IE=8"> #以上代碼告訴IE瀏覽器,IE8/9都會以IE8引擎來渲染頁面。 <meta http-equiv="X-UA-Compatible" content="IE=edge"> #以上代碼告訴IE瀏覽器,IE8/9及之後的版本都會以最高版本IE來渲染頁面。 <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9"> <meta http-equiv="X-UA-Compatible" content="IE=7,9"> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> #以上代碼IE=edge告訴IE使用最新的引擎渲染網頁,chrome=1則能夠激活Chrome Frame.
我的以爲本文頗有意義,對於ie一直存在的兼容問題給予一個解決辦法,能夠考慮在工做中使用。nginx
如下是正文,爲方便oser閱讀,原文抄錄以下,有關具體狀況請參考原做者。web
Google Chrome Frame,谷歌瀏覽器內嵌框架(簡稱GCF),是一個使你機器上的Internet Explorer系列瀏覽器鳥槍換炮,用上webkit內核的Chrome引擎,但IE瀏覽器外觀上仍是IE的外觀的免費插件。ajax
不相信嗎?使用用IE瀏覽器打開GCF安裝頁,按照提示安裝後,重啓IE,再打開gcf:about:version,如今你會看到chrome瀏覽器的內核信息,說明Chrome內核已經植根於你的IE瀏覽器上了。chrome
但並不是你的IE訪問任意網頁就會自動的使用Chrome內核來解析,須要兩種方式:一是在網址前面加上」gcf:「,好比gcf:http://gmail.com來訪問;二是在網頁的meta信息中加入一句:api
<meta http-equiv="X-UA-Compatible" content="chrome=1">
這裏chrome=1表明全部版本的IE瀏覽器都使用Chrome內核解析網頁,chrome屬性還有其餘的值,好比chrome=IE7,表明IE7或如下版本的瀏覽器才使用chrome內核,chrome=IE6和chrome=IE8等依此類推。
做爲一個網頁開發者,你會不會想到有了這個插件,之後就能夠大膽使用各類CSS3樣式,只要Chrome下顯示正確,IE下也能顯示正確了!沒錯!但前提是用戶會安裝這個插件嗎?如何提供一個友好的引導安裝界面呢,Google幫咱們解決了這個問題。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script> <div id="prompt"></div> <script> window.attachEvent("onload", function() { CFInstall.check({ mode: "overlay", node: "prompt" }); }); </script>
在body標籤中加入這段js代碼,可使得IE打開該網頁時出現友好的GCF安裝引導iframe框。這段代碼不須要存在於
<!--[if IE]>...<![endif]-->
之中,js中已經作了瀏覽器的判斷。
CFInstall.min.js是官方提供的文件,CFInstall.check()方法有許多可選項,其中包括:
OK,瞭解了這麼多,相信你已經躍躍欲試了,我在個人博客上開啓了chrome=IE8並加上了GCF的友好安裝指引,歡迎訪問比較IE下和Chrome下的渲染差別。
更多GCF的參考資料: