IE的瀏覽器模式和文件模式
從IE8瀏覽器開始,微軟向 Web 標準進行靠攏,以便讓各種瀏覽器可以更好的相容網站中使用的程式碼,開發人員不用花太多精力使用不同的方法在各種的瀏覽器上實現自己需要的效果,使用者也可以更自由的選擇使用自己喜歡的瀏覽器。
之前的IE6和IE7為了實現更多的功能,其程式碼規範與 W3C 的標準有許多出入,由於IE的市場佔有率一直遠超過其他瀏覽器,所以絕大多數的網站開發人員都會按照 IE6/7 的規範來編寫程式碼。這樣,在新的IE8中,網頁就有可能像其他瀏覽器一樣,出現顯示不正常等水土不服的情形。
為了解決這樣的問題,IE8瀏覽器增加了一種叫做“相容性檢視”的功能,可以讓網頁以IE6/7的程式碼規範來顯示,這樣,就能夠很好的解決大部分由於程式碼標準不一致引起的網頁問題。
而“相容性檢視”涉及兩個重要的功能便是“瀏覽器模式”和“文件模式”,本文將簡單的介紹這兩個模式的區別。
在IE8中按F12鍵,開啟“開發人員工具”,在選單欄中可以看到“瀏覽器模式”和“文件模式”的切換選單,其中可以選擇切換到IE6/7/8等不同的網頁模式。那“瀏覽器模式”和“文件模式”之間有什麼區別呢?
“瀏覽器模式”用於切換IE針對該網頁的預設文件模式、對不同版本瀏覽器的條件備註解析、傳送給網站伺服器的使用者代理(User-Agent)字串的值。網站可以根據瀏覽器返回的不同使用者代理字串判斷瀏覽器的版本和安裝的功能,這樣就可以向不同的瀏覽器返回不同的頁面內容。
預設情況下,IE8的瀏覽器模式為IE8。使用者可以通過單擊位址列旁邊的相容性檢視按鈕( )來手動切換到不同的瀏覽器模式。在IE8中,IE8相容性檢視會以IE7文件模式來顯示網頁,同時會向伺服器傳送IE7的使用者代理字串。
“文件模式”用於指定IE的頁面排版引擎(Trident)以哪個版本的方式來解析並渲染網頁程式碼。切換文件模式會導致網頁被重新整理,但不會更改使用者代理字串中的版本號,也不會從伺服器重新下載網頁。切換瀏覽器模式的同時,瀏覽器也會自動切換到相應的文件模式。
在最新的IE9瀏覽器中同樣支援這個功能,並新增了IE9標準的瀏覽器模式和文件模式,並且將“IE8相容性檢視”更改為了“IE9相容性檢視”。