onload=function(){ console.log(document.body.scrollHeight) console.log(document.body.clientHeight) console.log(document.documentElement.clientHeight) } onscroll=function(){ console.log(document.body.scrollHeight) console.log(document.body.clientHeight) console.log(document.documentElement.clientHeight) }
页面加载完毕document.body.clientHeight和document.body.scrollHeight的值相等,滚动后document.body.clientHeight才变回正常的可见客户区高度,这让document.body.clientHeight显得有点不正常,反观document.documentElement.clientHeight就没有这个问题,而且滚动后输出的值document.documentElement.clientHeight比较准确,document.body.clientHeight差了几像素,测试环境chrome浏览器