ブラウザによってスタイルが適用される前にドキュメントの高さを測定することに関係する、かなりあいまいな問題に遭遇しました。詳細はこちら:
- http://sonspring.com/journal/jquery-iframe-sizing
- http://ajaxian.com/archives/safari-3-onload-firing-and-bad-timing
6月27日からのデイブハイアットのコメントで、彼は単にdocument.body.offsetLeft
プロパティをチェックしてSafariにリフローを強制するようにアドバイスしています。
次のステートメントを使用できますか?
document.body.offsetLeft;
または、それを変数に割り当てる必要がありますか?例:
var force_layout = document.body.offsetLeft;
ブラウザがその値を計算するために?
これは、より基本的な質問に帰着すると思います。つまり、代入ステートメントの一部でなくても、JavaScriptはプロパティの値を評価しますか?これは、特定のブラウザのJavaScriptエンジンがコードを最適化するかどうかに依存しますか?