英文原文:http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx
文件兼容性用于定義讓IE如何編譯你的網(wǎng)頁。此文件解釋文件兼容性,如何指定你網(wǎng)站的文件兼容性模式以及如何判斷一個網(wǎng)頁該使用的文件模式。
前言
為了幫助確保你的網(wǎng)頁在所有未來的IE版本都有一致的外觀,IE8引入了文件兼容性。在IE6中引入一個增設(shè)的兼容性模式,文件兼容性使你能夠在IE呈現(xiàn)你的網(wǎng)頁時選擇特定編譯模式。
新的IE為了確保網(wǎng)頁在未來的版本中都有一支的外觀,IE8引入了文件兼容性。當你引入一個增設(shè)的兼容性模式,
此文章說明文件兼容性的必要性,列出現(xiàn)有版本IE能使用的文件兼容性模式并示范如何選擇特定的兼容性模式。
了解文件兼容性的必要性
每個主要版本IE新增的功能都是為了讓瀏覽器更容易使用、增加安全性及更支持業(yè)界標準。以這些作為IE的特色,其中一個風(fēng)險就是舊版本網(wǎng)站無法正確的顯示。
為了將這個風(fēng)險降到最低,IE6允許網(wǎng)頁開發(fā)人員選擇IE編譯和顯示他們網(wǎng)頁的方式。"Quirks mode"為預(yù)設(shè),這會使頁面以舊版本瀏覽器的視點顯示,"Standards mode"(也稱為"strict mode")特點是支持業(yè)界標準最為完善。然而要利用這個增強的支持功能,網(wǎng)頁必須包含恰當?shù)闹噶睢?br />
若一個網(wǎng)頁沒有包含指令,IE6會將它以quirks mode顯示。若網(wǎng)頁包含有效的指令但瀏覽器無法辨識,IE6會將它以IE6 standards mode顯示。因為少數(shù)網(wǎng)站已經(jīng)包含指令,兼容性模式的切換相當成功。這使網(wǎng)頁開發(fā)人員能選擇將他們的網(wǎng)頁轉(zhuǎn)移為standards mode的最佳時機。
隨著時間經(jīng)過,更多網(wǎng)站開始使用standards mode。它們也開始使用IE6的特性和功能來檢測IE。舉例來說,IE6不支持universal selector(即css之全局選擇器 * {}),一些網(wǎng)站便使用它來針對IE做特定的對應(yīng)。
當 IE7增加了對全域選擇器的支持,那些依賴IE6特點的網(wǎng)站便無法偵測出這個新版本的瀏覽器。因此那些針對IE的特定對應(yīng)無法應(yīng)用于IE7,造成這些網(wǎng)站便無法如他們預(yù)期的顯示。由于只支持兩種兼容性模式,受到影響的網(wǎng)站擁有者被迫更新他們的網(wǎng)站使其能支持IE7。
IE8 比之前的任何版本瀏覽器都更支持業(yè)界標準,因此針對舊版本瀏覽器設(shè)計的網(wǎng)頁可能無法如預(yù)期般呈現(xiàn)。為了幫助減輕所有問題,IE8引入文件兼容性的概念,使你能選擇你的網(wǎng)頁設(shè)計要對應(yīng)的特定IE版本。文件兼容性在IE8增加了一些新的模式,這些模式能告訴瀏覽器如何解析和編譯一個網(wǎng)頁。若你的網(wǎng)頁無法在 ie8正確的顯示,你可以更新你的網(wǎng)站使它支持最新的網(wǎng)頁標準(優(yōu)先選項)或在你的頁面上新增一個meta元素用于告訴IE8如何依照舊版本瀏覽器編譯你的頁面。
這能讓你選擇將你的網(wǎng)站更新支持IE8新特點的時機。
認識文件兼容性模式
IE8支持幾種文件兼容性模式,它們具有不同的特性并影響內(nèi)容顯示的方式。
•Emulate IE8 mode指示IE使用指令來決定如何編譯內(nèi)容。Standards mode指令會顯示成IE8 Standards mode而quirks mode會顯示成IE5 mode。不同于IE8 mode,Emulate IE8 mode重視指令。
•Emulate IE7 mode指示IE使用指令來決定如何編譯內(nèi)容。Standards mode指令會顯示成IE7 Standards mode而quirks mode會顯示成IE5 mode。不同于IE7 mode,Emulate IE7 mode重視指令。對于許多網(wǎng)頁來說這是最推薦的兼容性模式。
•IE5 mode 編譯內(nèi)容如同IE7的quirks mode之顯示狀況,和IE5中顯示的非常類似。
•IE7 mode編譯內(nèi)容如同IE7的standards mode之顯示狀況,無論網(wǎng)頁是否含有指令。
•IE8 mode提供對業(yè)界標準的最高支持,包含 W3C Cascading Style Sheets Level 2.1 Specification和W3C Selectors API,并有限的支持 W3C Cascading Style Sheets Level 3 Specification (Working Draft)。
•Edge mode指示IE以目前可用的最高模式顯示內(nèi)容。當使用IE8時其等同于IE8 mode。若(假定)未來放出支持更高兼容性模式的IE,使用Edge mode的頁面會使用該版本能支持的最高模式來顯示內(nèi)容。同樣的那些頁面在使用IE8瀏覽時仍會照常顯示。
由于edge mode使用該IE版本所能支持的最高模式來顯示所瀏覽的網(wǎng)頁內(nèi)容,建議僅使用于測試頁及其他非商用頁面。
指定文件兼容性模式
要為你的網(wǎng)頁指定文件模式,需要在你的網(wǎng)頁中使用meta元素放入X-UA-Compatible http-equiv 標頭。以下是指定為Emulate IE7 mode 兼容性之范例。
Content goes here.