div
withがfloat: right
あり、ビューポートの上部からの距離を取得しようとしています。Safari を除くすべてのブラウザで、期待どおりの結果が得られelement.getBoundingClientRect().top
ます。Safari は、ビューポートではなく、ページの上部からの要素の距離を報告しているようです。これは、このメソッドの仕様で定義されている内容に反しています(私が理解しているように)。Safari がここのルールに従っていないだけですか、それとも他のブラウザは、私が見ていない私の間違いをより寛容に扱っているのでしょうか?
質問する
3700 次
2 に答える
8
これは、Safari がロード イベントで要素とスクロール位置を報告する方法に影響を与えるバグのようです。まったく同じ呼び出しを 500 ミリ秒のタイムアウトで実行すると、すべてが期待どおりに機能します。
バグレポートが返ってきたら更新します。
于 2014-10-13T21:14:30.057 に答える
0
同じ問題があり、500ms のトリックでは解決しません。
ジョブは、本文の最後にスクリプト (空のスクリプトも含む) を追加することです。
そのような :
[...]
<script type="text/javascript">
//content doesn't matter
</script>
</body>
[...]
于 2021-03-03T12:35:42.877 に答える