2009-07-20 87 views
1

我有一個JS腳本,適用於IE8兼容模式,FF,Chrome,Opera,但不是IE8標準模式。Javascript工作在IE8壓縮模式,但不是標準模式

正如我認爲標準模式比兼容模式更嚴格,也許我的代碼有問題。我該如何調試?有沒有什麼能夠讓我看到可以在兼容模式下工作的標準?

此外,在短期內,如何更改用戶瀏覽器以使用JS中的兼容模式。我不想改變整個網站(即更改模板doctype),我該如何在JS中做到這一點?

謝謝。

+0

你能粘貼代碼嗎? – 2009-07-20 07:22:27

+0

你能標記這個IE8嗎? – benc 2009-07-20 14:44:00

回答

1

首先,檢查JavaScript中的document.documentMode值的值。如果您的頁面處於怪異模式,它會回到IE 5的行爲,這可能會弄亂您的代碼。

要檢查文檔模式,請使用這一小段JavaScript。

var docMode = document.documentMode; 
if (!docMode|| docMode < 8) { 
    // Old IE or IE8 or later compatibility mode. 
    // 5 for quirks mode, 7 for compatibility mode, 
    // undefined for IE7 or earlier. 
} else { 
    // IE8 or later standards mode. 
} 

這很難說,你的問題是什麼,如果你不發佈,雖然代碼。也許我們可以弄清楚,如果你告訴我們什麼代碼的行爲有所不同。

1

當控件由「名稱」而不是「id」定義時,兼容模式工作和標準模式不起作用,我通過插入「id」來解決我的問題。

0

你遇到的問題可能是一個CSS相關的jQuery問題。我注意到,只有在ie8標準模式下,我的表格沒有正確調整大小,調試後發現我的表格有一個重複條目。必須有在jquery..css(「左邊框寬度」)在IE8作爲下面的CSS在IE7和IE9標準模式正確呈現響應方式的差異,但不是在IE8標準模式:

table { 
border: 8px solid #C2DDEE; 
border: none; 
} 
相關問題