有没有办法获取包括可滚动内容在内的整个页面高度?
例如,在下面的页面中,我的高度为613px,但滚动出的内容更多。如果得到document.documentElement.scrollHeight
的值,它将给我相同的613px。我有什么办法可以真正获得整页的高度?
编辑:
我已经尝试了一些答案,但是以某种方式,对于此页面,我总是得到相同的高度(https://material.angular.io/)。有人知道为什么吗?
最佳答案
这也将为您提供可滚动区域的高度
(function() {
let pageHeight = 0;
function findHighestNode(nodesList) {
for (let i = nodesList.length - 1; i >= 0; i--) {
if (nodesList[i].scrollHeight && nodesList[i].clientHeight) {
var elHeight = Math.max(nodesList[i].scrollHeight, nodesList[i].clientHeight);
pageHeight = Math.max(elHeight, pageHeight);
}
if (nodesList[i].childNodes.length) findHighestNode(nodesList[i].childNodes);
}
}
findHighestNode(document.documentElement.childNodes);
console.log('You page hight it', pageHeight);
})();