Когда вы используете этот Doctype, вы переводите каждый текущий браузер в так называемый Почти стандартный режим , без него вы будете в режиме Quirks.
Как вы можете прочитать на этой странице ,
[m] ost браузеры предоставляют window.pageXOffset/pageYOffset
. Это абсолютно надежно. Еще раз, Internet Explorer является нечетным, поскольку он не предоставляет эти свойства. Internet Explorer и некоторые другие браузеры будут предоставлять document.body.scrollLeft/Top
. В строгом режиме IE 6 и несколько других браузеров предоставляют document.documentElement.scrollLeft/Top
.
Сценарий, предоставленный там, вычисляет желаемое значение:
function getScrollXY() {
var scrOfX = 0, scrOfY = 0;
if( typeof( window.pageYOffset ) == 'number' ) {
//Netscape compliant
scrOfY = window.pageYOffset;
scrOfX = window.pageXOffset;
} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//DOM compliant
scrOfY = document.body.scrollTop;
scrOfX = document.body.scrollLeft;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//IE6 standards compliant mode
scrOfY = document.documentElement.scrollTop;
scrOfX = document.documentElement.scrollLeft;
}
return [ scrOfX, scrOfY ];
}
Другая интересная статья появилась в QuirksMode, Сказка о двух видовых экранах .