前兩天在研究「南方航空IE10兼容性」問題,在IE10的標準模式下,查詢航班時沒法顯示結果。進入調試模式下調試,出現「loadXML」語法錯誤的提示(實際上是沒法正常解析XML數據)。切換其餘瀏覽器模式(如IE10兼容性視圖),就能夠正常顯示航班結果了。雖然切換瀏覽器模式解決了顯示問題,可是爲了讓用戶有更好的體驗,減小手動切換瀏覽器模式的煩惱,決定另尋更優的方法解決。 css
經研究,IE10有「瀏覽器模式」和「文檔模式」,下面做簡單的介紹 瀏覽器
瀏覽器模式的主要做用是爲兼容較早版本的IE,它會控制瀏覽器發出的UserAgent,表示以哪一個版本的瀏覽器發出請求,以此來容許爲某個特定IE版本設計的代碼正確執行(舉例來講:有些代碼真是判斷ie版本的,還有css裏也有判斷ie版本的)。 測試
文檔模式的主要做用是影響瀏覽器顯示網頁HTML的方式,在接到返回的HTML文件後,決定以哪一個IE版本的文檔模式解析該頁面(舉例來講:JS腳本就是依賴文檔模式,IE9的js變化就須要IE9文檔模式來支持)。 ui
通過分析與測試,文檔模式的切換是能夠正常顯示查詢結果的。 spa
經過添加如下語句(必須加在網頁中除TITLE 和其餘 META 元素之外的全部元素以前的標頭 (HEAD部分) 中), 設計
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" > 調試
文檔模式就會自動切換,問題就解決了。 文檔