2.2.3 在標記中定位Quirks模式和文檔模式
網頁可以在<head>內使用X-UA-Compatible <meta>標記來選擇一種特定的模式。代碼清單2-1使用<meta>標記來通知IE:應當以IE 7模擬模式(IE=EmulateIE7)來加載一個網頁。
代碼清單2-1 HTML <meta> Compatibility頭示例
<!-- Load page in IE7 Emulation Mode -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
希望使用較舊標準解釋的較舊網頁可以使用DOCTYPE頭和<mea>標記,并將這一決定告知IE。代碼清單2-2給出一個網頁,它使用松散HTML 4.0規(guī)范,并希望以Quriks(IE 5)模式進行顯示。
代碼清單2-2 DOCTYPE和相應的X-UA-Compatible <meta>標記
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!-- Load page in IE5 (Quirks) Mode -->
<meta http-equiv="X-UA-Compatible" content="IE=5">
2.2.4 從服務器端定位文檔模式
使用X-UA-Compatible <meta>標記指定文檔模式是非常簡單的,但它并不適用于所有場景。大型網站和內容管理系統(tǒng)(CMS)可能有數千個網頁,有些服務器可能托管了數千個網站。對這些類型的網站和托管構造,要為每個網頁都添加<meta>標記是不太可行的。
如果開發(fā)人員希望在一個Web服務器或者網站范圍內應用一種IE模式,可以向任意Web服務器配置添加一個新的HTTP頭來實現。這個頭的名稱為X-UA-Compatible,它的相關值代表了在該服務器配置內所托管網頁的期望模式。這樣不僅會在服務器范圍內應用該設置,實際上,相對于META標記還能獲得一點性能增益(因為IE是在分析該網頁之前就知道這一模式了,而不是在分析之后才知道)。
1. 向IIS添加X-UA-Compatible頭
開發(fā)人員可以通過Internet Information Services (IIS)管理器(可以在“控制面板”|“管理工具”中找到此管理器)向IIS添加X-UA-Compatible頭。HTTP響應頭配置(可以在全局設置或特定網站中找到)包含一個列表,其中包含為每個頁面請求發(fā)送的響應頭。兼容性頭是通過這個配置頁上的“添加”對話框來添加的,如圖2-1所示。