ページが IE 6 で完全にレンダリングされる前に、一部の JavaScript を実行すると問題が発生します (他のバージョンもあるかもしれませんが、今のところ IE6 をテストしているだけです。Firefox は問題ないようです)。window.onload
次のようにjsを呼び出すことで、これを回避できます。
window.onload = function(){doIt();}
ただし、私の懸念は、既に存在する可能性のある他のものを上書きするという事実ですwindow.onload
。コードはライブラリの一部として使用されるため、window.onload
他の誰かによって別の場所に設定されないことを保証することはできません。onload
次のように、関数をイベントに追加したいと思います。
window.onload += function(){doIt1();}
window.onload += function(){doIt2();}
しかし、そうすると、 だけdoit2()
が呼び出されます。ページが完全にレンダリングされたときにイベント ハンドラーを登録する方法はありますか? 2 番目に考えたのは、コードをループ チェックに入れて、実行前にすべてのオブジェクトが存在することを確認することです。しかし、これによりブラウザがロックされる可能性があるのではないかと心配しています。
背景情報として、私のコードは iFrame を非表示/表示しています。iFrame のonload
属性を使用できることはわかっていますが、コードを呼び出す前にすべての iFrame を完全にロードする必要があります。
コミュニティから何か考えはありますか?ご入力いただきありがとうございます。