document.compatMode属性

document.compatMode用来判断当前浏览器采用的渲染方式。

官方解释:

BackCompat:标准兼容模式关闭。
CSS1Compat:标准兼容模式开启。

当document.compatMode等于BackCompat时,浏览器客户区宽度是document.body.clientWidth;
当document.compatMode等于CSS1Compat时,浏览器客户区宽度是document.documentElement.clientWidth。

浏览器客户区高度、滚动条高度、滚动条的Left、滚动条的Top等等都是上面的情况。

一个准确获取网页客户区的宽高、滚动条宽高、滚动条Left和Top的代码:

 1 function getViewport(){
 2                 if (document.compact=="BackCompat") {
 3                     return{
 4                         document.body.clientWidth,
 5                         document.body.clientHeight,
 6                         scrollleft:document.body.scrollLeft,
 7                         scrolltop:document.body.scrollTop
 8                     };
 9                 } 
10                 else{
11                     return{
12                         document.documentElement.clientWidth,
13                         document.documentElement.clientHeight,
14                         scrollleft:document.documentElement.scrollLeft,
15                         scrolltop:document.documentElement.scrollTop
16                     };
17                 }
18             }