我想問問在正常模式下(當正確定義doctype時),QuirksMode中的Internet Explorer是否具有與IE不同的JavaScript實現。QuirksMode和JavaScript的實現
JavaScript代碼在QuirksMode和正常IE模式下的行爲方式可能不同嗎?
我想問問在正常模式下(當正確定義doctype時),QuirksMode中的Internet Explorer是否具有與IE不同的JavaScript實現。QuirksMode和JavaScript的實現
JavaScript代碼在QuirksMode和正常IE模式下的行爲方式可能不同嗎?
Yep。
其中最顯着的不同是,在特殊模式,BODY(document.body的)被認爲是根元素,而在標準模式(和它的方式的意思是) - 根元素是HTML( document.documentElement中)。
這例如影響視窗尺寸通常計算的方式;在標準模式下,人們會使用document.documentElement.clientHeight
,而在怪癖中 - document.body.clientHeight
- 可以獲得視口的高度。
檢測這種行爲很容易 - document.documentElement.clientHeight == 0
- 會告訴我們,documentElement
是不是根元素,以及該機構應改爲使用。
當然,其它通常的怪異模式差異的和,如分配無單位的CSS值,導致不同的結果。當出現怪異現象時,這些值傳統上被成功分配,而在標準模式下 - 它們被忽略。
JavaScript不應該有不同的表現;然而,JavaScript操作的DOM對象可能有不同的行爲。
你的意思是Javascript代碼本身還是HTML DOM,這些經常被錯誤地混淆? – AnthonyWJones 2009-10-01 13:17:29