IE8 的 相容Quirks模式 Meta Tag(X-UA-Compatible)

Microsoft 推出了 Internet Explorer 8 Beta 1, 裡面有一個非常大的改變: 微軟:IE8 預設模式將支援網路標準, 節錄裡面幾點:

  1. 微軟宣布,IE8一推出時,就會以標準相容模式(standards compatibility mode)作為預設的成像引擎(rendering engine)。微軟先前已表示,新版瀏覽器可以通過Acid2 rendering測試。
  2. 就IE8而言,微軟計劃提供三種rendering模式:新的標準相容(standards-compliant)模式、IE7成像引擎、以及一個展示舊型網站的選項。因為新版瀏覽器改變了預設環境,若網站希望IE8沿用IE7的引擎,就必須在各自的網站編碼中加入一個標籤(tag)。

所以 IE8 的預設模式會如下(取自: IEBlog: The Default Layout Mode):

Acid2

依這篇文章 Internet Explorer 8 and Acid2: A Milestone 寫說 IE8 已經能正確將 Acid2 Face 畫出來, 關於 Acid2 可見下面連結:

X-UA-Compatible 參數

基本上 IE8 預設模式直接支援標準是很好, 但是另外一個問題是, 有數不清的 RD 要熬夜了... XD

幸好 M$ 也有提供快速解法(就是說, 來不及改的, 就先把下面 META Tag 塞進去, 畫面應該就不會大爆炸), 取自 Windows Internet Explorer 8 Beta 1 for Developers: Technology Overview(Developer whitepaper), 下載此 Developer whitepaper 的 doc 檔, 裡面有說明 META 的 X-UA-Compatible 可以設定讓 IE8 採用舊的模式, 模式/參數目前有以下幾種:

  • IE=5: "Quirks" mode
  • IE=7: "Standards" mode
  • IE=8: Internet Explorer 8 Standards mode
  • IE=edge: Uses latest standards that Internet Explorer 8 and any future versions of the browser support. Not recommended for production sites.

範例 (記得 META Tag 要擺在 <header></header> 中)

  • <meta http-equiv="X-UA-Compatible" content="IE=8" >
  • <meta http-equiv="X-UA-Compatible" content="IE=7" >
  • 我猜有不少網頁都要用此 <meta http-equiv="X-UA-Compatible" content="IE=5" > 模式, 如果是用這種 Quirks 模式的, 盡量找個時間<strike>重寫</strike>重新設計規劃吧~~ XD

其它相關網頁


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 News-Technology。將永久鏈結加入書籤。

IE8 的 相容Quirks模式 Meta Tag(X-UA-Compatible) 有 7 則回應

  1. 燒賣 說道:

    Firefox 什麼時候才能把那張臉畫對阿...

  2. V 說道:

    回樓上的:
    FF 3早就過了...
    http://www.fsckin.com/2007/11/25/acid2-test-firefox-3-beta-1-vs-phoenix-01-firebird-06-and-firefox-2/
    ------
    回本篇:
    加meta tag有什麼鬼用, 一堆古董根本不會/不能更新, 結果IE還是會徹底爆炸...而且業界標準是DTD不對就是quirk mode, M$的傢伙在搞什麼鬼?
    -不是說推web standard不好, 只是不按常規搞預設standard最終只是讓user翻桌而已-舊網頁顯示不了, JS丟到FF上還是一樣的爆炸, 但web designer一樣不知什麼是web standard
    其實比較好的做法是行quirk mode時彈一個像運行activeX的提示出來而不是直接standard mode, 這樣子對舊網頁的兼容性會比較好也真正推廣到web standard

  3. Tsung 說道:

    嗯~ 不會加 META Tag 的自然就會爆炸, 那就會想辦法去加上 或 改版囉~ 至少總是好一點~ 🙂
    您說的方法倒也是個好方法說 🙂

  4. 大立 說道:

    順便補充一下,當網頁有使用iframe或frameset坎入某一子頁面時,iframe或frameset該頁也必須要加上Meta Tag(X-UA-Compatible)的標籤,子頁面所使用的Meta Tag(X-UA-Compatible)才會有作用.^^

  5. angel 說道:

    請教一下
    如果我們公司機器有設定 是IE8 但IE7文件模式..我現在做的網站是FOR ie8以上 RWD
    所以可以怎樣寫 可以改變如果是IE8會自動跑到IE8 ..Ie10 ,自動跑到ie10

    謝謝

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料