在我电脑屏幕上显示的 电脑是 1920*1080这是在document.compatMode:css1Compat模式
window.screen.availWidth
1920
window.screen.availWidth
1920
window.screen.availHeight
1057
window.screen.width
1920
window.screen.height
1080
window.document.body.offsetHeight
4901
window.document.body.clientWidth
1305
document.body.clientHeight
4901
document.body.clientWidth
1305
document.documentElement.clientHeight
460
document.documentElement.clientWidth
1305
现在是document.compatMode:BackCompat:页面没有!doctype声明
document.body.clientHeight
460
document.body.clientWidth
1320
document.documentElement.clientHeight
460
document.documentElement.clientWidth
1320
以上红色部分就是说document.compatMode模式的区别下的网页可视区域的宽和高
so:
var height=document.compatMode='css1Compat':document.documentElement.clientHeight ? document.body.clientHeight;
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; }