search

Home  >  Q&A  >  body text

html - javascript如何在所有浏览器中获取网页高度 scrollHeight? offsetHeight? clientHeight?

我们知道dom文档里有这三种高度,如果我要获取一个网页的真实高度,那么应该如何获取呢?以前我一直用document.body.scrollHeight来获取,但是我发现在Opera浏览器中获取的高度,比实际高度要小一截。我还没测试过除了Chrome和Firefox以外的其它浏览器,不知道是不是还有什么例外情况。

不知道大家有没有什么通用的办法能获取浏览器中网页的实际高度,当然要所有浏览器都适用。

怪我咯怪我咯2817 days ago557

reply all(1)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 12:44:29

    获取文档的高度,如果文档高度小于视口高度,则取视口的高度

    function getDocHeight() {
        var D = document;
        return Math.max(
            Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
            Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
            Math.max(D.body.clientHeight, D.documentElement.clientHeight)
        );
    }

    如果不需要判断body高度小于文档高度的情况,则去掉里面的三个max判断吧

    reply
    0
  • Cancelreply