如何立即修正我的網站?

注意:本文件只是初步文件,日後可能隨時異動。

兼顧新功能與現有網頁的網站相容性,是開發 Windows Internet Explorer 時的基本考量。 Windows Internet Explorer 8 引進了相容性模式,可以輕鬆將舊版標準轉換成新標準。如需有關 Windows Internet Explorer 8 相容性模式的詳細資訊,請參閱下列文件。

本文件將帶領您完成修正網站的必要步驟,讓網站可以順利呈現在 Windows Internet Explorer 8 中。

快速的短期修正

您有一個適用於 Windows Internet Explorer 7 的現有網頁,而您想要進行最少的修改作業,將更新後的網頁用於 Windows Internet Explorer 8 ,此時有兩種方法可用。您可以在每一個網頁加入相容性模式中繼標籤,強制 Windows Internet Explorer 8 以 Windows Internet Explorer 7 的方式呈現網頁。或者,您也可以在握有網頁伺服器控制權的情況下,設定伺服器傳送自訂 HTTP 回應標頭 ( 等同於每一個網頁的中繼標籤 ) 以自動新增相容性。

如何修改每個網頁

請將下列 HTML 中繼標籤放到各網頁的 HEAD 項目中 ( 在 TITLE 或 META 之外的標籤前面 ) :

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/> ``

這會告知 Windows Internet Explorer 8 以 Windows Internet Explorer 7 的方式呈現每個網頁,修正您的網站。

如何設定伺服器自動修改各網頁

如果要在每個網頁自動加入類似於 HTML 中繼標籤的相同相容性,請設定您的伺服器傳送下列標頭:

X-UA-Compatible:IE=EmulateIE7 ``

要設定 Microsoft Internet Information Services (IIS) 7.0 ,請如下設定 Web.config 檔案:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.webServer>
      <httpProtocol>
         <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=EmulateIE7" />
         </customHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>

( 請將 Web.config 檔案加到您要套用變更的目錄中 )

請注意,出現在網頁實際標記中的中繼相容性模式參數標籤,一定會優先於 HTTP 標頭宣告。

如需如何設定網頁伺服器 (包括 IIS 6.0 ) 傳送自訂 HTTP 回應標頭的詳細資訊,請參閱下列文件。

這些短期修正方法,只建議在您需要快速且暫時修正網頁時使用。您最終還是需要修改網站,讓網站傳送標準程式碼到 Windows Internet Explorer 8 以上版本,並將舊版程式碼傳送到舊版的 Windows Internet Explorer 。

建議使用的永久性解決方案

您有一個適用於 Windows Internet Explorer 7 的現有網頁,而您想要建立一個可以正確用於 Windows Internet Explorer 8 的標準網頁,並且在特殊情況下仍可處理舊版瀏覽器,此時可以採用永久性的解決方案。當您將新的CSS 2.1功能加入主頁面流程之後,您必須將相容性模式設為 IE8 Standards ,並使用條件式註解提供舊版 Windows Internet Explorer 的修正。

將相容性模式設為 IE8 Standards

請將下列 HTML 中繼標籤放入各網頁的 HEAD 項目上方 ( 在 TITLE 或 META 之外的標籤前面 ) :

<meta http-equiv="X-UA-Compatible" content="IE=8"/> ``

這會告知 Windows Internet Explorer 8 使用 CSS 2.1 標準呈現每個網頁。

您也可以按照以下示範,設定網頁伺服器以進行整個網站的變更;只要將內容值變成 “IE=8” 即可。請記住,任何網頁層級的中繼變更均優先於標頭值,所以可能需要變更或移除任何網頁層級標頭。

使用條件式註解讓網站依然適用於舊版瀏覽器

下列程式碼範例示範了如何使用條件式註解,針對目前或舊版的 Windows Internet Explorer 使用適當的 CSS 。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
   <head>
      <title>Test Page</title>
      <meta http-equiv="X-UA-Compatible" content="IE=8"/>
      <!--[if gte IE 8]>
      <style type="text/css">
      body {
       color:#0000ff;
       background-color:#000000;
      }
      </style>
      <![endif]-->
      <!--[if lt IE 8]>
      <style type="text/css">
      body {
       color:#000000;
       background-color:#ffffff;
      }
      </style>
      <![endif]-->
   </head>
   <body>
      <h1>
      <!--[if gte IE 8]>
      Chapter 1.
      <![endif]-->
      First Chapter
      </h1>
      <h1>
      <!--[if gte IE 8]>
      Chapter 2.
      <![endif]-->
      Second Chapter
      </h1>
      Text any version will see.
   </body>
</html>

如需有關瀏覽器偵測技巧的詳細資訊,請參閱下列文件。

以上說明的永久性解決方案,是我們最建議用來修正網站的方法。只要遵守這些標準,您的網站就可以同時在舊版 Windows Internet Explorer 和 Windows Internet Explorer 8 ( 以及未來任何版本 ) 之中正確運作。