發新話題

[分享] ie8 兼容content="IE=EmulateIE7"標籤意義解釋

[失連]

ie8 兼容content="IE=EmulateIE7"標籤意義解釋

只需要在頁面中加入如下HTTP meta-tag:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
只要IE8一讀到這個標籤,它就會自動啟動IE7兼容模式,保證頁面完整展示.
還有一種方法是針對整個網站的,在IIS中加入如下描述符就可以有相同的效果,當然這麼做範圍更廣。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=EmulateIE7">
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
----------------------------------------
未來兼容性中的 META 標記和鎖定
注意:本文檔是預備文檔,隨時可能變更。
對於 Web 開發人員來說,文本兼容性是一個要考慮的重要問題。Windows Internet Explorer 8 引入了文本兼容性模式,該模式允許 Web 開發人員將瀏覽器設置為以與舊版本相同的方式顯示網頁,從而允許開發人員選擇更新時間。
本文檔將介紹由 Windows Internet Explorer 8 支持的文本兼容性模式,以及如何使用自定義標頭基於每個頁面或每個站點實現這些模式。實現適當的兼容性模式後,可以確保站點與 Windows Internet Explorer 8 及更高版本兼容。
各種兼容性模式Windows Internet Explorer 8 支持多種兼容性模式,它們可啟用不同的受支持的功能,並影響內容的呈現方式。例如,IE5 模式呈現內容時,像是使用了 Windows Internet Explorer 7 的 Quirks 模式,這與 Windows Internet Explorer 5 顯示內容的方式很相似。IE7 模式呈現內容時,無論頁面是否包含 <!DOCTYPE> 指令,都像是使用了 Windows Internet Explorer 7 的標準模式。

EmulateIE7 模式通知 Windows Internet Explorer 使用 <!DOCTYPE> 指令確定如何呈現內容。標準模式指令以 Windows Internet Explorer 7 標準模式顯示,而 Quirks 模式指令以 IE5 模式顯示。與IE7 模式不同,EmulateIE7 模式遵循 <!DOCTYPE> 指令。對於多數網站來說,它是首選的兼容性模式。

IE8 模式最大限度地支持行業標準(包括 W3C Cascading Style Sheets Level 2.1 Specification 和 W3C Selectors API,並能有限支持 W3C Cascading Style Sheets Level 3 Specification(工作草案)。

Edge 模式通知 Windows Internet Explorer 以最高級別的可用模式顯示內容,這實際上破壞了「鎖定」模式。對於 Windows Internet Explorer 8,這與 IE8 模式是等效的。如果(假定)Windows Internet Explorer 的未來版本支持更高級別的兼容模式,設置為 Edge 模式的頁面將顯示在由該版本支持的最高級別模式中;但是,當使用 Windows Internet Explorer 8 查看時,這些相同的頁面仍將顯示在 IE8 模式中。由於在 Windows Internet Explorer 的未來版本中呈現頁面內容可能出現意外,建議 Web 開發人員將 Edge 模式僅用於測試頁面和其他非生產活動。

基於每個頁面指定兼容性模式
要為網頁指定文本模式,請使用 META 元素,以在該網頁中包含 X-UA-Compatible http-equiv 標頭。以下示例指定了 EmulateIE7 模式兼容性。
XML/HTML代碼

   1. <html>  
   2.    <head>  
   3.    <!-- Mimic Internet Explorer 7 -->  
   4.       <title>我的網頁</title>  
   5.       <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />  
   6.    </head>  
   7.    <body>  
   8.       <p>內容在此處。</p>  
   9.    </body>  
  10. </html>  

Content 屬性指定了該頁面的模式;例如,要模仿 Windows Internet Explorer 7 的行為,請指定 IE=EmulateIE7。同樣,可指定 IE=5、IE=7 或 IE=8 以選擇其中一種兼容性模式。您還可以指定 IE=edge 以通知 Windows Internet Explorer 8 使用最高級別的可用模式。

X-UA-compatible 標頭不區分大小寫;但是,它必須顯示在網頁中除 TITLE 和其他 META 元素以外的所有元素之前的標頭(HEAD 部分)中。

基於每個站點指定兼容模式
通過使用 Web 服務器為站點定義自定義 HTTP 響應標頭,可為網站指定文本模式。HTTP 響應標頭是 Web 服務器附加到為響應 HTTP 請求而發送到瀏覽器中的文件的信息,這些信息通常包含發送回文件的日期、大小和類型。

下列文檔介紹了將 Web 服務器配置為將自定義 HTTP 響應標頭附加到所有網頁中所需的步驟。這將導致 Windows Internet Explorer 8 使用指定的文本兼容性模式,例如 EmulateIE7。

    * 在 IIS 上實現 META 切換
    * 在 Apache 上實現 META 切換

如果使用 Web 服務器指定了默認文本兼容性模式,則可通過在特定的網頁中指定其他文本兼容性模式來覆蓋該設置。在該網頁中指定的模式優先於由服務器指定的模式。
使用腳本確定文本兼容性模式

要使用 Windows Internet Explorer 8 確定網頁的文本兼容性模式,請使用document 對象的documentMode 屬性。例如,將以下內容鍵入到 Windows Internet Explorer 8 的地址欄中,可顯示當前網頁的文本模式。

javascript:alert(document.documentMode);

documentMode 屬性可返回與頁面的文本兼容性模式相對應的數值。例如,如果所選頁面支持 IE8 模式,則 documentMode 會返回 8。

注意:在 Windows Internet Explorer 6 中引入的compatMode 屬性已不受支持,取而代之的是在 Windows Internet Explorer 8 中引入的 documentMode 屬性。當前使用 compatMode 的應用程序仍然可以在 Windows Internet Explorer 8 中運行;但是,它們已更新為使用 documentMode。

如果希望使用 JavaScript 確定文本的兼容性模式,請在其中包含支持 Windows Internet Explorer 舊版本的代碼,如以下示例所示。
JavaScript代碼

   1. engine = null;   
   2. if (window.navigator.appName == "Microsoft Internet Explorer")   
   3. {   
   4.    // 這是一個 IE 瀏覽器。引擎處於哪種模式下?   
   5.    if (document.documentMode) // IE8   
   6.       engine = document.documentMode;   
   7.    else // IE 5-7   
   8.    {   
   9.       engine = 5; // 假設為 quirks 模式;除非另外證實是其他模式   
  10.       if (document.compatMode)   
  11.       {   
  12.          if (document.compatMode == "CSS1Compat")   
  13.             engine = 7; // 標準模式   
  14.       }   
  15.    }   
  16.    // 引擎變量現在包含文本兼容性模式。   
  17. }  

此處使用的文檔對象表示給定瀏覽器窗口中的 HTML 文檔,可用來檢查、修改 HTML 文檔或將內容添加到該文檔以及處理該文檔中的事件。
使用條件註釋確定文本兼容性模式

如果只需要適應 Windows Internet Explorer,以下代碼示例說明了如何使用條件註釋來適用於當前版本或舊版本。
XML/HTML代碼

   1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">  
   2. <html>  
   3.    <head>  
   4.       <title>測試頁</title>  
   5.       <meta http-equiv="X-UA-Compatible" content="IE=8"/>  
   6.       <!--[if gte IE 8]>  
   7.       <style type="text/css">  
   8.       body {   
   9.        color:#0000ff;   
  10.        background-color:#000000;   
  11.       }   
  12.       </style>  
  13.       <![endif]-->  
  14.       <!--[if lt IE 8]>  
  15.       <style type="text/css">  
  16.       body {   
  17.        color:#000000;   
  18.        background-color:#ffffff;   
  19.       }   
  20.       </style>  
  21.       <![endif]-->  
  22.    </head>  
  23.    <body>  
  24.       <h1>  
  25.       <!--[if gte IE 8]>  
  26.       第 1 章。   
  27.       <![endif]-->  
  28.       第一章   
  29.       </h1>  
  30.       <h1>  
  31.       <!--[if gte IE 8]>  
  32.       第 2 章。   
  33.       <![endif]-->  
  34.       第二章   
  35.       </h1>  
  36.       將看到任何版本的文本。   
  37.    </body>  
  38. </html>

TOP

沒看到,太可惜了,失連了
但還是謝謝謝!

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。