有没有办法获取包括可滚动内容在内的整个页面高度?

例如,在下面的页面中,我的高度为613px,但滚动出的内容更多。如果得到document.documentElement.scrollHeight的值,它将给我相同的613px。我有什么办法可以真正获得整页的高度?

javascript - 如何使用Javascript获取完整的页面高度?-LMLPHP

编辑:

我已经尝试了一些答案,但是以某种方式,对于此页面,我总是得到相同的高度(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);
})();

09-29 20:03