window.addEventListener('scroll',function(){ if(document.compatMode == "CSS1Compat") { alert(document.documentElement.scrollTop); } else { alert(document.body.scrollTop); } },false);
雖然scroll事件是在window對象上發生的,但它事件表示的則是頁面中相應元素的變化。在混雜模式中,可以通過<body>元素的scrollLeft和scrollTop來監控這一變化;在標准模式下,除Safari之外的所有瀏覽器都會通過<html>元素來反映這一變化(Safari還是基於<body>跟蹤位置);
以上代碼指定的事件處理程序會輸出頁面的垂直滾動位置——根據呈現模式不同使用了不同的元素。由於Safari3.1之前的版本不支持document.compatMode,因此舊版本就會滿足第二個條件。