企業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架構和應用是企業復甦的必行
【16】vuex2.0 之 getter
this map 多個參數 name not 同時 方便 比較 compute 有的組件中獲取到 store 中的state, 需要對進行加工才能使用,computed 屬性中就需要寫操作函數,如果有多個組件中都需要進行這個操作,那麽在各個組件中都寫相同的函數,那就非常