說到網頁瀏覽器相容度的問題,一直都是網站開發者最頭痛的問題(有時使用者也很頭痛),前兩天Google正式宣佈(Google:不要再用老舊的IE6了!)將在今年3月1日起,分階段淘汰旗下功能對於IE6...等舊版瀏覽器的支援,那表示還在使用舊版瀏覽器的人,將無法使用某些Google的服務,勢必得升級到新版瀏覽器才行。
不過從Browser Version Market Share這一份調查數據來看,IE8的用戶雖然有22.31%,但是古早的IE6緊接其後,也有20.07%的使用者,由此可見一樣是上網,但使用的工具還是存在著很大的數位落差。這可能跟很多人不知道怎麼升級,或根本不想要升級有關。
關於軟體升級的議題,也一直都是網路話題之一,例如前陣子MSN強迫升級(Windows Live Messenger),頓時淹沒了Plurk的河道,朋友們怨聲載道,還有許多人分享了避免強制升級的方法,只要Google一下MSN強制更新,就可以看到一堆文章。
話題有點扯遠了,自從使用Facebook跟Plurk以後,加上我們幾個同事間利用diigo在做工作上的知識分享平台,隨時都會看到一些新知或秘技,今天也來分享一下IE8相容模式的解決方式。
在IE6跟IE7的時代裡,網站開發人員總得想盡辦法來處理這兩種版本間相容的問題,最常見的應該都是layout的問題,因為只要用不同版本一開啟,就會馬上發現異常狀況。之後IE8推出,這個問題沒有得到緩解,反而又多出了一個版本。
前陣子微軟公布了一個Internet Explorer 8 相容性模式修正的方式,文件提供了兩種解決方式,可以強制IE8用Internet Explorer 7的方式來呈現網頁,以解決不相容的問題。
第一個方式是修改每一個頁面,將IE=EmulateIE7這個meta加入head之間。
另一個是從網站伺服器著手,可以直接從IIS7、IIS6.0、Apache 2.2、Apache 2.0、Apache 1.3...這些伺服器,傳送自訂的HTTP回應標頭(作 META Switch、在 Apache 上實作 META Switch)。以上這兩個方式是微軟宣稱的短期解決IE8相容性問題的方式,文件裡也提供了一個「建議使用的永久性解決方案」的方式,提供上述的訊息讓大家參考。
延伸閱讀:
IE8相容性線上精靈
Introducing Compatibility View
如何從 Server-side 指定 IE8 瀏覽器應使用的文件模式