我有一個JS腳本,適用於IE8兼容模式,FF,Chrome,Opera,但不是IE8標準模式。Javascript工作在IE8壓縮模式,但不是標準模式
正如我認爲標準模式比兼容模式更嚴格,也許我的代碼有問題。我該如何調試?有沒有什麼能夠讓我看到可以在兼容模式下工作的標準?
此外,在短期內,如何更改用戶瀏覽器以使用JS中的兼容模式。我不想改變整個網站(即更改模板doctype),我該如何在JS中做到這一點?
謝謝。
我有一個JS腳本,適用於IE8兼容模式,FF,Chrome,Opera,但不是IE8標準模式。Javascript工作在IE8壓縮模式,但不是標準模式
正如我認爲標準模式比兼容模式更嚴格,也許我的代碼有問題。我該如何調試?有沒有什麼能夠讓我看到可以在兼容模式下工作的標準?
此外,在短期內,如何更改用戶瀏覽器以使用JS中的兼容模式。我不想改變整個網站(即更改模板doctype),我該如何在JS中做到這一點?
謝謝。
對於強制兼容模式,您需要自定義標題。看到這個鏈接http://weblogs.asp.net/joelvarty/archive/2009/03/23/force-ie7-compatibility-mode-in-ie8-with-iis-settings.aspx
如果你發佈的Javascript不工作,可能是我們可以指出問題所在。
首先,檢查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.
}
這很難說,你的問題是什麼,如果你不發佈,雖然代碼。也許我們可以弄清楚,如果你告訴我們什麼代碼的行爲有所不同。
當控件由「名稱」而不是「id」定義時,兼容模式工作和標準模式不起作用,我通過插入「id」來解決我的問題。
你遇到的問題可能是一個CSS相關的jQuery問題。我注意到,只有在ie8標準模式下,我的表格沒有正確調整大小,調試後發現我的表格有一個重複條目。必須有在jquery..css(「左邊框寬度」)在IE8作爲下面的CSS在IE7和IE9標準模式正確呈現響應方式的差異,但不是在IE8標準模式:
table {
border: 8px solid #C2DDEE;
border: none;
}
你能粘貼代碼嗎? – 2009-07-20 07:22:27
你能標記這個IE8嗎? – benc 2009-07-20 14:44:00