javascript - 如何使用 Javascript 获取整页高度?

标签 javascript html puppeteer

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

例如,在下面的页面中,我的高度为 613px,但有更多的内容被滚出。如果获取 document.documentElement.scrollHeight 的值,它会给我相同的 613px。有什么方法可以实际获得整页高度?

enter image description here

编辑:

我已经尝试了一些答案,但不知何故,对于这个页面我总是得到相同的高度 ( 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/

相关文章:

javascript - 单击 puppeteer 中的元素后如何等待网络空闲?

javascript - Facebook 图形 API 错误代码 :2500 JavaScript

html - 我可以对问号做什么?

javascript - 处理 HTML 脚本标记时出错

javascript - 如何停止在移动设备上滚动完整日历?

javascript - Puppeteer - 访问外部范围变量失败

javascript - 在 google puppeteer 上作为 evaluate 方法的参数

javascript - Dan Grossman 的 Bootstrap 日期选择器——回调

javascript - 如何通过数据获取元素-...具有指定值

javascript - 使用 FileList 拖放 AngularJs