0

我與我的團隊詢問IE8 Quirks mode是否與ERP軟件兼容,我已經做了一些關於怪癖模式的瞭解,我知道它的意思是渲染頁面,就好像它在沒有支持庫的IE5中渲染一樣。但是我聽說在某些情況下,瀏覽器中的IE8 Compatibility Mode可以運行爲IE7IE8兼容模式何時會像IE7一樣運行?

我們使用的軟件門戶呈現htmliView內迫使它在quirks mode。我已經建立html用下面的風格來呈現:

<doctype html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    .... 
    <body> 
    .... 
    <!-- load jQuery and other libraries followed by my code--> 
    </body> 
</html> 

這是否會呈現爲IE7,我怎麼能找到該模式下,它呈現和如何強制它呈現爲IE8或IE7?

回答

1

首先,要回答你的問題:

  1. 它可能在IE7模式呈現,而是取決於它是如何送達,適用於瀏覽網頁的安全區,和其他一些環境因素。鑑於您的文章中的細節,我想它不會呈現在IE7模式。 (更多內容)

  2. 如果您在最近版本的IE中加載頁面,頁面可能會以邊緣模式(又稱IE11標準模式)呈現。您可以通過按F12並從F12工具工具欄區域讀取當前文檔模式來檢查。您還可以使用window.document.documentMode屬性來確定當前文檔模式(如果支持)。

  3. 有幾種方法強制它到各種文檔模式。通常,您必須使用x-ua兼容的標題來指定所需的模式(例如content="IE=8")。您選擇的值告訴IE使用可用的最高模式。在IE11發佈之前,邊緣模式被認爲是實驗性的;現在it's preferred

這可能(或不可能)在IE7模式下呈現的原因取決於頁面的服務方式。如果在Intranet區域提供服務,並且IE設置爲在兼容性視圖中顯示Intranet頁面,則頁面可能會在IE7模式下呈現。話雖如此,你描述的更大的環境可能意味着頁面不是以IE7模式呈現的。

iframe影響公式。如果您的ASP頁面將Iview呈現爲iframe,則結果取決於父文檔。如果父文檔以怪癖模式呈現,則子文檔呈現爲怪癖模式。 (至少這是對於最新版本的IE;事情改變in earlier versions)。

因此,如果您提供的代碼位於iframe中,結果將取決於包含iframe的頁面的文檔模式。

現在,爲了控制這種情況,您應該花一些時間閱讀nitty gritty details。接下來,您可能希望在您的代碼中添加一些調試代碼,以在頁面呈現後顯示當前文檔模式,以便測試不同實驗的結果。

請記住,您不一定需要在頁面中放置x-ua兼容。 (您可以使用組策略或擁有server send headers。)

最後,如果您有Windows 8。1更新安裝,你可能想嘗試Enterprise IE (EMIE)一試。這迫使IE11進入IE8模式,IE8文檔模式更準確地模擬IE8的行爲。

我知道這是一般性的,但您正在尋找的答案很大程度上取決於您正在使用的具體細節。希望這會使你朝正確的方向發展。

希望這有助於...

- 蘭斯