Safari的getBoundingClientRect()实现返回错误的顶部

时间:2014-10-13 19:45:11

标签: javascript dom safari getboundingclientrect

我有一个div float: right,我试图从视口顶部到达距离。在除Safari之外的每个浏览器中,我都会从element.getBoundingClientRect().top获得预期结果。 Safari似乎报告了元素距页面顶部而不是视口的距离。这与spec for this method中定义的内容相反(据我理解)。 Safari是不是遵循这里的规则,还是其他浏览器更宽容我的一些我没见过的错误?

2 个答案:

答案 0 :(得分:3)

这似乎是一个错误,会影响Safari在其加载事件中报告元素和滚动位置的方式。如果你以500毫秒的超时运行完全相同的调用,一切都按预期工作。

当我收到我的错误报告时,我会更新。

答案 1 :(得分:0)

有同样的问题,500ms 的技巧并不能解决我的问题。

任务是在正文末尾添加一个脚本(任何脚本,甚至是空脚本)。

比如:

[...]
  <script type="text/javascript">
    //content doesn't matter
  </script>
</body>
[...]