document.compatMode:獲取當前瀏覽器采用的渲染方式。主要是瀏覽器的模式,有兩個:BackCompat,CSS1Compat。其中前者是怪異模式,后者是標准模式。
IE默認是BackCompat模式,Gecko內核的瀏覽器只在table中圖片層上不同,可以認為CSS1Compat標准模式document.compatMode等於BackCompat時,瀏覽器客戶區寬度是document.body.clientWidth;
當document.compatMode等於CSS1Compat時,瀏覽器客戶區寬度是document.documentElement.clientWidth。
瀏覽器客戶區高度、滾動條高度、滾動條的Left、滾動條的Top等等都是上面的情況。
一個准確獲取網頁客戶區的寬高、滾動條寬高、滾動條Left和Top的代碼:
if (document.compatMode == \"BackCompat\")
{
cWidth = document.body.clientWidth;
cHeight = document.body.clientHeight;
sWidth = document.body.scrollWidth;
sHeight = document.body.scrollHeight;
sLeft = document.body.scrollLeft;
sTop = document.body.scrollTop;
}
else
{
//document.compatMode == \"CSS1Compat\"
cWidth = document.documentElement.clientWidth;
cHeight = document.documentElement.clientHeight;
sWidth = document.documentElement.scrollWidth;
sHeight = document.documentElement.scrollHeight;
sLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft : document.documentElement.scrollLeft;
sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;
}
