我在這裡的第一篇文章提到了有關相容性檢視的一些資料。但很顯然地我的調查仍然不太細膩,導致於有一些地方有誤會或著是不足。這一篇裡頭將為大家介紹IE8內建的「相容性檢視列表」和非IE瀏覽器會如何面對相容性檢視問題。

 

重新介紹一遍IE8的模式

在經過一些調查和反省過後,我做了一張圖來描繪IE8的模式。

你可以在「開發者工具」中看到「瀏覽器模式」和「文件模式」,也可以立刻套用以檢視其變化。另外也可以發現,IE8開發者工具會在該瀏覽器模式下,自動選用的「文件模式」標上「網頁預設值」字樣。

 

相容性檢視列表

相信大家在安裝IE8時一定會被問過一個問題:「是否要使用 [相容性檢視] 更新?」,而對於這個更新到底是什麼完全渾然不知。

事實上,這個相容性檢視更新內容是:一個預設啟用相容性檢視的網站列表。他的檔案名稱叫做iecompat.dll。這個dll中包含一個名為iecompatdata.xml的網站列表,列出遇到哪些網站(更準確地說,遇到哪些二級網域)時,自動開啟IE8的相容性檢視功能。(也因此你不會在列表中的網站看到相容性檢視的開關)

你可以在IE8的網址列輸入res://iecompat.dll/iecompatdata.xml以查看這一份相容性檢視列表。

目前名列其中的台灣網頁可以說真不少,無名小站PCHome博客來網路書店聯合新聞網一蘋果網路全都榜上有名。不過就連微軟自己的microsoft.com和live.com也都在這份清單之中 XDDDDDDDDDD

是否要使用這份列表自動來開啟相容性檢視,或著接收這份列表的更新,可以到工具→相容性檢視設定選擇。

這份清單是透過Windows Update來進行更新的,像是KB968220就是一個網站列表的更新。

 

其他利用IE核心的瀏覽器怎麼著?

Microsoft的答案是:為了大部分使用者的相容性著想,在其他IE核心的瀏覽器(或:使用WebBrowser / 使用Trident核心的瀏覽器)像是Firefox的IE Tab、Maxthon、KKMan或PCMan,「瀏覽模式」都預設使用「IE8相容性檢視」。這表示你上述的瀏覽器中,無論什麼網頁(除非透過HTTP Header或<meta>標籤進一步強迫指定),都會選用IE8相容性檢視,而對網頁大部份採用IE7標準模式來讀取。

但所幸Microsoft開放透過登錄機碼的方式來更改掉這個設定。

打開regedit(開始-執行-regedit),在HKEY_CURRENT_USER或HKEY_LOCAL_MACHINE下的Software\Microsoft\Internet Explorer\Main\FeatureControl中,先新增一個機碼FEATURE_BROWSER_EMULATION

在這個機碼下新增一個DWORD值。名稱是你想更改瀏覽模式的程序名稱(以IE Tab而言是firefox.exe,真的!),而如果想使用IE8模式,將值設為十進位的8000

重開一次你的瀏覽器應該就可以套用了。

 

IE8相容性檢視Demo:更新版

為了更進一步表達瀏覽器模式和文件模式的差別,以及相容性檢視與UserAgent下的變化,我重新設計了之前的Demo。而更有趣的是,ntu.edu.tw剛剛好在相容性檢視清單下,所以可以順便測試這個清單的有效性呢! XD

 

測試網站在這裡。(備用點,這個不在相容性檢視清單下)

 

參考資料

 



DotBlogs Tags: html ie8


關連文章

回應

  • MT 2009/5/6 下午 03:36 回覆

    # re: [IE8修練大會] 相容性檢視補遺:相容性檢視列表與非IE瀏覽器的處理

    不好意思....想請教一下
    前幾天裝了Goolge瀏覽器,今天我的IE7都開不起來,在網路上找了IE8來裝了以後,變成PCman開不起來了....我按照您所給的圖去找還是沒找到要在哪裡裝「機碼」?
    原本只有在IE上可以開網路郵局(一開始用的時候還要裝JAVA之類...),現在網路郵局只要點入「設定問題」之類的地方就是「無法連線」,也無法登入,都是說網頁發生錯誤,不知道是哪裡出了問題?謝謝!!(因為上不了bbs,在網路上找到您的網頁所以來請教一下.....)

  • John 2009/6/26 上午 09:55 回覆

    # re: [IE8修練大會] 相容性檢視補遺:相容性檢視列表與非IE瀏覽器的處理

    請問在瀏覽網頁時,因為相容性問題網頁開啟有問題,IE8的使用者可以自己去try這個網頁要用哪種相容性開啟,然後存起來,下次開啟這個網頁時自動切換相容性嗎?
    我參加介紹IE8相容性研討會時一直以為相容性設定是這樣,使用者可以指定各網頁的相容版本,現在安裝好了卻發現找不到這個功能。現在回想起來,研討會好像都是在講IIS端如何加相容性設定、網頁開發者要如何加相容性設定等,好像並沒有我上面講的這種功能?

  • John 2009/6/26 上午 10:18 回覆

    # re: [IE8修練大會] 相容性檢視補遺:相容性檢視列表與非IE瀏覽器的處理

    有看到一個「相容性檢視」的按鈕,「工具」也有看到「相容性檢視設定」,但是我指的是讓使用者try網頁到底是相容於IE5.5還是IE6還是IE7,然後將結果存起來。「相容性檢視設定」好像不能設定網頁要相容於哪一版

  • 小兔子 2011/2/22 上午 10:07 回覆

    # re: [IE8修練大會] 相容性檢視補遺:相容性檢視列表與非IE瀏覽器的處理

    請教版大
    Dreamwaver CS3 無法在IE8瀏覽器中預覽,依照您指示去修改了相容性檢視
    重新開啟IE 8 ,然後重新執行Dreamwaver CS3 還是無法在IE8瀏覽器中預覽?

  • giga 2012/4/26 上午 10:10 回覆

    # re: [IE8修練大會] 相容性檢視補遺:相容性檢視列表與非IE瀏覽器的處理

    最近用了IE8雖然有些網頁瀏覽變快了但是有些也發生問題想請教:

    在瀏覽YAHOO新聞網頁時應該會出現[留言]、[心情]欄位,當我想留言得時候輸入文字都會等很久(10秒左右)才完成一句話,而且狀態列一直跑[正在等候http://.......],後來我發現應該是[相容性檢視]的問題,但是關閉[相容性檢視]雖然不會有延遲問題了不過[留言]、[心情]欄位卻都消失了,請問可解嗎?

  • 老柯 2012/5/27 下午 10:03 回覆

    # re: [IE8修練大會] 相容性檢視補遺:相容性檢視列表與非IE瀏覽器的處理

    請問F12的開發者工具一直開起來又關掉

    害我連字都打不了

    這種狀況要如何修復呢?

    是我哪裡設定錯的問題嗎?

標題 *
名稱 *
Email (將不會被顯示)
Url
回應
登入後使用進階評論
Please add 7 and 5 and type the answer here:

Copyright © 2008 design by Iris Kang.