页面高度不一样

时间:2018-03-05 12:18:18

标签: javascript browser

我的项目有问题。我需要检测页面高度并将此高度作为参数添加到url。它工作正常。但是当我在浏览器中尝试并尝试刷新页面几次时,有时会发生这种情况,之前的大小要小一些。有可能解决吗?

<script>
    var body = document.body, html = document.documentElement;
    var height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight) + 40;
    document.location.href += "#" + height;
</script>

1 个答案:

答案 0 :(得分:1)

这来自asynchroniously的{​​{1}}行为。我猜你的脚本执行时某些元素尚未加载(并不总是) - 并且由于缺少元素,高度也不同。

为防止这种情况发生,您应该在加载JavaScript后执行代码。

document

或使用jQuery:

(function() {
  var body = document.body, html = document.documentElement;
  var height = Math.max(body.scrollHeight, body.offsetHeight, 
  html.clientHeight, html.scrollHeight, html.offsetHeight) + 40;
  document.location.href += "#" + height;
})();