本文件已封存並已停止維護。

判斷可能的相容性問題及解決方案

這個主題提供 IT 專業人員 Internet Explorer 10 相容性問題的詳細概觀。也說明移轉 Web 應用程式的補救策略,並提供工具與程序的簡介。

移轉至新的作業系統可能產生某些特定的挑戰,尤其是來自於舊版 Web 應用程式的支援需求。特別在您的組織依賴以 Internet Explorer 6 為基礎的 Web 應用程式時,您必須建立全方位的策略及執行計畫,將舊版應用程式移轉到 Internet Explorer 10。

note備註
如果您目前正在測試、試驗或部署 Internet Explorer 9,Microsoft 建議您考慮針對 Internet Explorer 10 進行測試或新增平行專案。此外,請注意 Internet Explorer 6 無法以原生方式在任何新版的 Internet Explorer 上執行,所以不支援同時執行兩個 Internet Explorer 版本的選項。如需詳細資訊,請參閱 Microsoft 知識庫文章不支援在單一作業系統執行多種版本的 Internet Explorer

可能的相容性解決方案

您的組織可以使用下列其中一個補救方法,嘗試修正相容性問題:

  • 使用相容性檢視。使用相容性檢視功解決較不嚴重的問題。這個方法不會修改程式碼。

  • 使用虛擬化。建立可以執行舊版 Internet Explorer 的虛擬作業環境。

  • 修改原始程式碼。如果相容性檢視無法修正您的問題,您必須更新網站或 Web 應用程式的原始程式碼。

使用相容性檢視

「相容性檢視」是 Internet Explorer 10 的功能之一,可以讓瀏覽器轉譯出和 Internet Explorer 7 幾乎一模一樣的網頁。如需相容性檢視的特定詳細資訊,請參閱 Internet Explorer 10 開發人員指南 (Windows)

在企業環境中,某些區塊發生相容性問題的機率較低。例如,內部網路區域網站預設會使用相容性檢視。使用網頁物件控制項或 WebOC 轉譯的用戶端 Web 應用程式,發生相容性問題的機率也比較低。這是因為 Internet Explorer 10 會針對 WebOC 預設進入相容模式。不過,相容性檢視的預設組態設定,可能不足以確保完整的相容性。測試是確認網站或 Web 應用程式與 Internet Explorer 10 是否相容的最佳方式。

什麼是相容性檢視?

在 Internet Explorer 10 中,相容性檢視會改變瀏覽器用來解譯以 CSS、HTML、文件物件模組 (DOM) 和 JavaScript 引擎撰寫之程式碼的方法,以嘗試符合 Internet Explorer 7。這表示在 Internet Explorer 10 相容性檢視中瀏覽的網站會與在 Internet Explorer 7 中瀏覽時幾乎一模一樣。不過,相容性檢視不會改變瀏覽器解譯所有程式碼的方法。例如,Internet Explorer 10 中有關瀏覽器如何處理 ActiveX®、網路連線及安全性的變更,可能會造成網站或 Web 應用程式不相容。因此,相容性檢視功能大多不會改變這些行為。

為什麼需要相容性檢視?

Microsoft 從分析舊版 Web 應用程式的相容性問題清楚了解到,讓瀏覽器能夠以舊版的方式來轉譯內容,對客戶會有很大的助益。提供此功能給使用者的挑戰之一,就是如何讓使用者很順暢地轉譯版本,甚至感受不到轉譯過程。為了能正確地顯示內容,相容性檢視功能採行了一套規則,完全不需要使用者 (或 IT 管理員) 執行任何動作。開發人員可以利用此功能所提供的機制,指示瀏覽器使用正確的轉譯引擎,而使用者則有能力覆寫瀏覽器的選擇,並在不同的模式之間切換。當開發人員及 IT 專業人員都沒有指定所要使用的轉譯模式時,使用者將會見到損壞頁面圖示。

按一下圖示,指示 Internet Explorer 10 切換轉譯模式。使用者會立即看到頁面重新載入。請注意,使用者未必每次都會見到相容性檢視圖示;此圖示的用途是提供使用者後援解決方案,而非當做主要的應用程式相容性機制。只有在適合切換到相容性檢視 (如檢視標準模式頁面) 的情況下,Internet Explorer 才會顯示此按鈕。除此之外的其他所有情況 (如檢視 Quirks 模式頁面或檢視內部網路區域網站) 都不會顯示此按鈕。

如需相容性檢視功能及其圖示的詳細資訊,請參閱在 Internet Explorer 中使用相容性檢視

如何啟用相容性檢視?

有數種方法可以啟用相容性檢視功能,而這些方法都會列在清單中,協助您了解如何將其應用於測試程序。測試的結果若指出相容性檢視可以解決問題,我們建議組織使用群組原則 (GP) 來控制整個企業部署的相容性檢視功能。內部網路區域預設會啟用相容性檢視,以確保企業營運應用程式不需要額外的修改,即可正常地運作。此外,一般不會將外部網路應用程式 (通常由外包合作夥伴管理) 視為內部網路網站,因此也可能必須併入 GP 設定中。

note備註
只有遭遇相容性問題的網頁可以使用 [相容性檢視] 選項。沒有相容性相關問題的所有網頁,其 [相容性檢視] 選項會變成灰色。

使用 [工具] 功能表開啟相容性檢視

  • 從遭遇相容性問題的網頁按一下 [工具] 功能表,然後按一下 [相容性檢視]。

    功能表清單的 [相容性檢視] 項目旁會出現勾選記號,指出瀏覽器目前正在使用相容性檢視。

使用開發人員工具來開啟相容性檢視

  1. 在 Internet Explorer 10 中,按一下 [工具] 功能表,然後按一下 [F12 開發人員工具]。

    開發人員工具會顯示在網頁底部。

  2. 從 [瀏覽器模式: IE10] 功能表,按一下將選項變更為 [瀏覽器模式: Internet Explorer 10 相容性檢視]。

    [文件模式] 會自動變更為 [Internet Explorer 5 Quirks (網頁預設值)]。

    [瀏覽器模式] 設定會修改所報告的 UA 字串 (從 MSIE 10 變更為舊版字串),並調整文件內 CSS 及 JavaScript 所使用的版本向量。

    [文件模式] 設定會修改網頁轉譯的方式,讓您強制使用下列 5 種模式的其中一種轉譯頁面:標準模式、Quirks 模式、Internet Explorer 5 quirks (網頁預設值)、Internet Explorer 7 標準、Internet Explorer 8 標準,或 Internet Explorer 9 標準,不需要修改回報給 Web 應用程式的 UA 字串。請注意,透過 [開發人員工具] 對 [文件模式] 及 [瀏覽器模式] 設定所做的任何變更將會在索引標籤工作階段的使用期間內持續發生作用。

    如需瀏覽器模式和文件模式差異的詳細資訊,請參閱在不同的瀏覽器和文件模式進行測試

啟用 EmulateIE10 X-UA_Compatible 標頭來開啟相容性檢視

  • 以下列兩種方法之一直接將 HTML 程式碼插入網頁:

    • 在伺服器設定層級,您可以插入 HTTP 標頭標籤。

    • 在頁面層級,您可以使用 EmulateIE10Meta 標籤插入頁面標頭。

使用相容性檢視清單來開啟相容性檢視

  1. 在 [工具] 功能表上,按一下 [相容性檢視設定]。

    [相容性檢視設定] 對話方塊會出現。

  2. 將有問題的 URL 輸入 [新增此網站] 方塊中,然後按一下 [新增]。

    網站會顯示在 [已新增至 [相容性檢視] 的網站] 方塊中,且在開啟網站時會自動啟用相容性檢視。

您的網路網域也可能已經在 Microsoft 管理的相容性檢視清單中,該清單位於 File:\\%LOCALAPPDATA%\Microsoft\Internet Explorer\IECompatData\iecompatdata.xml

更新 Meta 標籤或 HTTP 標頭來管理相容性檢視

Microsoft 了解網站可能包含成千上萬不同的頁面,因此就個別的文件上設定文件模式並不可行。您的網站若能接受對所有的網頁或依資料夾選取的頁面集合來設定 Meta 標籤,建議調整伺服器設定,並在 HTTP 標頭中新增 X-UA-Compatible 中繼資料。

為了確保會使用 Internet Explorer 10 文件 (標準) 模式顯示內容,您必須指定值 IE=10。為了確保會使用 Internet Explorer 9 轉譯行為來顯示內容,指定值 IE=9。為了確保會使用 Internet Explorer 5 或 Quirks 轉譯行為來顯示內容,指定值 IE=5。如需相容性及 X-UA-Compatible 標頭的進一步資訊,請參閱定義文件相容性

下表描述 Internet Explorer 10 可用的文件模式。

 

內容值 意義

IE=5

使用 Internet Explorer 5 Quirks 模式轉譯

IE=7

使用 Internet Explorer 7 標準模式轉譯。

IE=8

使用 Internet Explorer 8 標準模式轉譯。

IE=9

使用 Internet Explorer 9 標準模式轉譯。

IE=Edge

使用最新模式轉譯;在 Internet Explorer 10 中,這等同於 IE=10。

IE=10

使用 Internet Explorer 10 標準模式轉譯。

使用群組原則管理相容性檢視

Internet Explorer 10 提供許多群組原則項目供您設定,將環境維持在受管理之下的安全狀態。不論區域判斷為何,下表提供下列重要區域的設定建議:安全性、效能,以及與舊版 Internet Explorer 的相容性。

 

活動 位置 設定原則物件

開啟所有站台的 Internet Explorer 7 標準模式,無論區域為何。

系統管理範本\Windows 元件\Internet Explorer\相容性檢視

按兩下 [開啟 Internet Explorer 7 標準模式],然後按一下 [啟用]。

開啟所有內部網路區域的相容性檢視

系統管理範本\Windows 元件\Internet Explorer\相容性檢視

按兩下 [開啟近端內部網路的 Internet Explorer 標準模式],然後按一下 [停用]。

使用群組原則開啟所有網站的相容性檢視

系統管理範本\Windows 元件\Internet Explorer\相容性檢視

按兩下 [使用 Internet Explorer 7 網站的原則清單],然後按一下 [啟用]。

使用者可以手動新增或移除本機相容性檢視清單中的網站,但無法移除您明確新增的網站。

使用群組原則開啟所有網站的 Quirks 模式

系統管理範本\Windows 元件\Internet Explorer\相容性檢視

按兩下 [使用 Quirks 模式網站的原則清單],然後按一下 [啟用]。

確定您的使用者目前使用的是最新版的 Microsoft 相容性清單。

系統管理範本\Windows 元件\Internet Explorer\相容性檢視

按兩下 [包含來自 Microsoft 的更新網站清單],然後按一下 [啟用]。

限制使用者變更安全性區域設定。

系統管理範本\Windows 元件\Internet Explorer\網際網路控制台

按兩下 [停用安全性畫面] 索引標籤,然後按一下 [啟用]。

控制要套用到特定網站的安全性區域設定。

系統管理範本\Windows 元件\Internet Explorer\網際網路控制台\安全性畫面

按兩下 [指派網站到區域清單],再按一下 [啟用],然後輸入您的網站清單以及這些網站適用的安全性區域。

關閉資料執行防止 (DEP)。

系統管理範本\Windows 元件\Internet Explorer\安全性功能

按兩下 [關閉資料執行防止],然後按一下 [啟用]。

使用群組原則管理 ActiveX 安裝問題

簡單的「下載並執行」部署模型是 ActiveX 控制項的重要功能之一。ActiveX 控制項的安裝和叫用是透過 HTML 物件標籤進行,而這個標籤中有一個稱為 CODEBASE 的屬性,會告知 Internet Explorer (使用 URL) 若使用者電腦上未安裝所需控制項時,應從何處取得該控制項。在這種情況下,Internet Explorer 會下載關聯的安裝封裝、對物件執行信任驗證,並在 Internet Explorer 資訊列中提示使用者需要安裝權限。在安裝期間,控制項是由轉譯頁面進行登錄和叫用。安裝完成之後,任何標準使用者都可以叫用控制項。這套簡單的發佈與執行機制是為了方便開發人員能夠輕鬆地將元件發佈給其 Web 應用程式使用者。而這個發佈方法的問題在於標準帳戶使用者無法直接安裝每部電腦的 ActiveX 控制項。使用者需要有系統管理員權限才能完成安裝。

ActiveX 安裝程式服務 (AXIS) 可讓 IT 專業人員利用群組原則來管理組織電腦上的 ActiveX 控制項部署。ActiveX 安裝程式服務所使用的選項及網站是由群組原則設定所設定,而群組原則設定則可經由 [群組原則管理主控台] (GPMC) 或 [本機群組原則編輯器] 進行修改。ActiveX 安裝程式服務有兩個原則設定:[ActiveX 控制項的認可安裝網站] 和 [信任的區域中網站的 ActiveX 安裝原則]。[ActiveX 控制項的認可安裝網站] 原則設定包含允許的安裝網站清單 (即 ActiveX 安裝程式服務用來決定能否安裝 ActiveX 控制項的清單)。[信任的區域中網站的 ActiveX 安裝原則] 原則設定可指定信任的網站區域可以用來安裝 ActiveX 控制項的方法。當網站嘗試安裝 ActiveX 控制項時,ActiveX 安裝程式服務會檢查網站的 URL 是否列在於允許的安裝網站清單或信任的網站區域中。若網站列在其中,ActiveX 安裝程式服務會進一步確認該網站是否符合原則所定義的需求。若網站與 ActiveX 控制項符合原則設定的各項需求,就會安裝該控制項。

如需詳細資訊,請參閱管理 ActiveX 安裝程式服務

如果相容性檢視可以解決問題

如果您啟用安全性檢視,而這樣能順利解決您的安全性問題,那麼最好的做法就是使用群組原則來啟用相容性檢視。然後,為了確保未來的往後相容性,建議您使用目前採用的 Web 標準來編寫 Web 應用程式和網站的程式碼。Web 標準會不斷地演進和變更。因此,相容性會是組織發展過程中亟需解決的問題。瀏覽器只會改良成愈來愈符合 (而非愈來愈不符合) 最新 Web 標準,因此以網頁為基礎的應用程式與網站也應更新,以符合最新的瀏覽器標準。

Important重要
雖然 Microsoft 致力於提供 Internet Explorer 10 產品整個生命週期的支援,但我們仍建議組織不要只依賴舊版轉譯模式來解決相容性問題。

如果相容性檢視無法解決問題

某些特別針對 Internet Explorer 6 所編寫的舊版應用程式,可能無法在相容性檢視中運作。這些應用程式的另一個替代補救選項是將網站設為 Quirks 模式。Quirks 模式屬於回溯相容性模式,幾乎可以執行和 Internet Explorer 5.5 一模一樣的轉譯行為。若要確認 [Quirks] 模式是否正確地轉譯網站,測試者可以使用 [開發人員工具] 將 Internet Explorer 10 設為 [Quirks] 模式。如果 [Quirks] 模式能降低網站相容性問題,IT 專業人員可以使用群組原則將整個網站新增到 [Quirks] 模式原則清單。如果 [Quirks] 模式不能降低相容性問題,IT 專業人員必須尋找該網站的替代補救方法。這包含要求網站開發人員嘗試補救網站,或者使用 MED-V用戶端 Hyper-V 進行虛擬化做為因應措施。

使用虛擬化

應用程式相容性常是組織排斥升級到最新版 Windows 作業系統的主要原因之一。例如,組織可能依賴只能在 Windows XP 作業系統執行的重要企業營運系統應用程式,或者他們建置的重要內部網路網站只適合在 Internet Explorer 6 執行。此外,組織可能沒有所需的時間或資源可以重新建置、重新調整或升級這些應用程式。

如果組織打算升級,並有大量舊版 Web 應用程式需要測試及移轉至最新版的 Internet Explorer 時,IT 專業人員可以利用虛擬化技術暫時解決此問題 (請注意,IT 專業人員也應補救 Web 應用程式,使其在新版 Internet Explorer 中以原生方式執行)。Microsoft 所支援且最適用於虛擬化 Web 應用程式的虛擬化選項是 MED-V用戶端 Hyper-V

如需虛擬化選項的相關資訊,請參閱 Microsoft 桌面虛擬化

修改原始程式碼

更新您的原始程式碼,確保至少能夠在 Internet Explorer 10 5 個提供的轉譯模式中的其中一個,以原生方式執行 Web 應用程式或網站,包含 Internet Explorer 10 標準、Internet Explorer 9 標準、Internet Explorer 8 標準、Internet Explorer 7 標準或 Quirks。您應制訂正式的補救計劃,從而指定解決重大企業應用程式相容性問題的應用程式擁有者與開發資源。

對於已執行 Internet Explorer 10 的組織,開發人員可以利用 Internet Explorer 10 相容性手冊 (Windows)這項主要資源,了解自 Internet Explorer 9 開始已變更及取代的開發人員功能。

顯示: