1. 程式人生 > >企業IT管理員IE11升級指南【16】—— 使用Compat Inspector快速定位IE相容性問題

企業IT管理員IE11升級指南【16】—— 使用Compat Inspector快速定位IE相容性問題

使用Compat Inspector快速定位Internet Explorer相容性問題

Compat Inspector介紹

Compat Inspector是一個基於JavaScript的,用於快速分析網站在新版本Internet Explorer中相容性問題的,自動化掃描工具。

不同於其他大而全的相容性掃描工具,它的檢測規則基於實踐中發現總結的各種相容性問題,因此能獲得更有針對性的檢測報告。為了加快網站向現代瀏覽器遷移的速度,在新版本Internet  Explorer的開發過程中,許多Internet Explorer產品組的工程師為Compat Inspector工具編寫了富有針對性的高質量測試案例。

同時Compat Inspector還能提供互動式的問題定位支援,使得開發測試人員可以快速高效地定位相容性問題,而無需遍歷文件,或是複查整個網站的程式碼。

值得注意的是,Compat Inspector的設計基於幫助網站向IE 9,10,11標準模式遷移——而不是為了測試網站在新版本Internet Explorer中繼續以傳統相容模式執行的能力。它的測試案例基於標準模式與相容模式的差異而建立。

啟用Compat Inspector

要使用Compat Inspector,需要在待測試網頁的其他所有指令碼內容之前,新增下面的指令碼標籤

<script src="http://ie.microsoft.com/TestDrive/HTML5/CompatInspector/inspector.js"></script>

如果工作正常,Compat Inspector會在網頁的右上角放置如下的狀態列。點選該狀態列可以獲得相應的詳細檢測報告資訊。

更多的時候,我們期望測試過程中能夠避免對既有程式碼的修改。此時可以考慮採用Fiddler工具向測試頁面中自動注入上面的指令碼,實現與手工新增相同的效果。具體步驟如下:

1.  下載並安裝Fiddler工具

2. 開啟目錄當前使用者的Documents\Fiddler2\Scripts目錄中的CustomRules.js

3.按照示例中的說明將程式碼新增進CustomRules.js:

…

   static function OnBeforeResponse(oSession: Session) {

          InjectInspectorScript(oSession);

  

…

                public static RulesOption("Use Compat Inspector")

       var m_UseCompatInspector: boolean = false;

       static function InjectInspectorScript(oSession: Session)

       {

              if(!m_UseCompatInspector) return;

             

              // Ensure we only inject into HTML

              if (oSession.url.EndsWith(".js")) return;

       …

4.如果新增正確,此時就可以在Fiddler中見到下列的選單項。

勾選Use Compat Inspector並確保Fiddler處於Capturing狀態。

5. 此時重新整理頁面,Internet Explorer就會獲得經由Fiddler修改的,注入了Compat Inspector指令碼的網頁內容。

使用Verify勾選項

如果點選網頁右上角的Compat Inspector狀態列,就會看到詳細的測試報告。大多數的測試報告專案提供了Verify勾選項,以幫助使用者互動地驗證問題。

例如下面的報告專案檢測到當前網頁使用了navigator.userAgent來檢查瀏覽器的型別。通常這是不可靠的檢測機制,因為即使同樣是Internet Explorer,不同的版本也會支援不同的功能。更加建議的方式是基於功能的檢測機制。

當勾選Verify並重新整理頁面後,Compat Inspector會讓navigator.userAgent返回不同的結果。如果網頁確實不依賴該返回值,則網頁應該依然能夠正常顯示。例如起初指令碼的輸出如下:

當勾選Verify並重新整理頁面後輸出如下:

使用Debug勾選項

同樣對於上面的檢測報告專案,用下面的步驟可以暴露出網頁中呼叫navigator.userAgent的程式碼位置:

1.       勾選Debug

2.       開啟Internet Explorer F12工具欄,切換到程式碼除錯標籤

3.       重新整理頁面。程式碼執行會停留在由Compat Inspect注入的斷點處

4.       此時在Call Stack中雙擊緊隨inspectorFunction的函式,就能看到網頁中對應的程式碼

Compat Inspector測試案例介紹

Compat Inspector提供了數十種測試案例。點選檢測報告的Tests標籤可以看到完整的案例列表及其對應的說明。如果要禁用某項規則,也可以移除相應規則前的勾選。

相關推薦

企業IT管理員IE11升級指南16—— 使用Compat Inspector快速定位IE相容性問題

使用Compat Inspector快速定位Internet Explorer相容性問題 Compat Inspector介紹 Compat Inspector是一個基於JavaScript的,用於快速分析網站在新版本Internet Explorer中相容性問題的,自動化掃描工具。 不同於其他大而

企業IT管理員IE11升級指南15—— 代理自動配置指令碼

企業IT管理員IE11升級指南 系列: 代理自動配置指令碼 Contents 簡介... 2 設計技巧... 2 處理大小寫... 2 有效利用縮排... 3 處理localhost和回送地址... 3 通過PAC遮蔽網站

企業IT管理員IE11升級指南10—— 如何阻止IE11的安裝

企業IT管理員IE11升級指南 系列: 如何阻止IE11的安裝 希望自行管理更新計劃的企業和組織可以使用 IE11 Automatic Update Blocker Toolkit (自動更新攔截工具)禁止自動更新 Internet Ex

企業IT管理員IE11升級指南17—— F12 開發者工具

企業IT管理員IE11升級指南 系列: F12 開發者工具 簡介 使用 F12 開發人員工具,你可以除錯、測試網頁並加快其速度。無論你是需要微調你的 CSS 佈局還是查詢記憶體洩漏,你都能在此處找到幫助工具。 如果你正在 Inte

企業IT管理員IE11升級指南8—— Win7 IE8和Win7 IE11對比

var blobList = []; document.getElementById("pasteZone").addEventListener('paste', handlePaste, false); function handlePaste(evt) { var fileLis

企業IT管理員IE11升級指南1—— Internet Explorer 11增強保護模式 (EPM) 介紹

企業IT管理員IE11升級指南 系列: Internet Explorer 11增強保護模式 (EPM) 介紹 每個Internet Explorer的新版本,都會引入新的安全增強機制,以幫助使用者更安全地瀏覽Internet。增強保護模

企業IT管理員IE11升級指南14—— IE11代理伺服器配置

企業IT管理員IE11升級指南 系列: IE11代理伺服器配置 自動檢測配置 WPAD代表Web Proxy Auto-Discovery Protocol,是客戶端通過DHCP或DNS協議探測代理伺服器配置指令碼url的一種方式。

企業IT管理員IE11升級指南2—— Internet Explorer 11 對Adobe Flash的支援

企業IT管理員IE11升級指南 系列: Internet Explorer 11 對Adobe Flash的支援 在Windows 8.1上,Adobe Flash被作為一個平臺功能包括在內,可運行於Internet Explorer

企業IT管理員IE11升級指南7—— Win7和Win8.1上的IE11功能對比

企業IT管理員IE11升級指南 系列: Win7和Win8.1上的IE11功能對比 在 HTML5 視訊、觸控支援、裝置和螢幕方向 API、Windows 整合和效能方面,Windows 8.1 上的 Internet Explorer 

企業IT管理員IE11升級指南6—— Internet Explorer 11面向IT專業人員的常見問題

企業IT管理員IE11升級指南 系列: Internet Explorer 11面向IT專業人員的常見問題 1.   Internet Explorer 11 在哪個作業系統上執行? • Windows 8.1 • Windows

企業IT管理員IE11升級指南4—— IE企業模式介紹

企業IT管理員IE11升級指南 系列: IE企業模式介紹 企業模式,執行在Windows8.1 Update和Windows7 Internet Explorer 11上的相容模式,讓網站使用一種模仿Internet Explorer

企業IT管理員IE11升級指南13—— 如何把IEMP遷移到GPP

企業IT管理員IE11升級指南 系列: 如何把IEMP遷移到GPP 背景 Internet Explorer Maintenance (IEM) 從Internet Explorer 10以後就已取消。安裝Internet Expl

企業IT管理員IE11升級指南12—— 相容檢視列表介紹

 企業IT管理員IE11升級指南 系列: 相容檢視列表介紹 為過去版本Internet Explorer設計的網站並不總是能夠在當前版本的Internet Explorer中得到預期的顯示效果。為了解決這個問題,Internet Expl

企業IT管理員IE11升級指南5—— 不跟蹤(DNT)例外

企業IT管理員IE11升級指南 系列: 不跟蹤(DNT)例外 不跟蹤(DNT)簡介 始終傳送“請勿跟蹤”標題 (DNT是Do Not Track header的縮寫),是在IE11新增的GPO設定,可以在以下路徑找到: 管理模板\Wi

企業IT管理員IE11升級指南11—— 通過SCCM 2012和WSUS部署Internet Explorer 11

企業IT管理員IE11升級指南 系列: 通過SCCM 2012和WSUS部署Internet Explorer 11 部署Internet Explorer的先決條件 Internet Explorer 11已預設安裝在Windows

企業IT管理員IE11升級指南9—— IE10與IE11的功能對比

企業IT管理員IE11升級指南 系列: IE10與IE11的功能對比 Contents

企業IT管理員IE11升級指南3—— IE11 新的GPO設定

企業IT管理員IE11升級指南 系列: IE11 新的GPO設定 MSDN文件詳細介紹了IE11新增的組策略 Internet Explorer 11 的新組策略設定 在DC上,如果IT管理員不希望安裝IE11但需要配置Int

Linux使用gdb快速定位core dump

前言 如果你沒有見過core dumped,說明你不是一個合格的Coder(但並不代表知道就是合格的Coder),在Linux作業系統下,通過gcc、g++編譯出的程式碼就有可能出現這樣的問題(windows下一般都是棧溢位),下面就具體的core dumped

用友U9 SOA引領企業IT架構全面升級

管理大師德魯克在其著作《變動中的管理》一書中指出,面對越來越複雜多變的經濟環境,任何一家企業想要實現自己的管理模式和業務架構都離不開IT技術的支援。這是由於大多數的企業核心流程都必須由IT支援,才能實現。這就導致IT應用的效率必然會影響企業運營的效率。因此,經濟危機後優化企業的IT架構和應用是企業復甦的必行

16vuex2.0 之 getter

this map 多個參數 name not 同時 方便 比較 compute  有的組件中獲取到 store 中的state, 需要對進行加工才能使用,computed 屬性中就需要寫操作函數,如果有多個組件中都需要進行這個操作,那麽在各個組件中都寫相同的函數,那就非常