有没有办法获取包括可滚动内容在内的整个页面高度?
例如,在下面的页面中,我的高度为 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);
})();
关于javascript - 如何使用 Javascript 获取整页高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58099664/