this guyと同様の問題が発生しています。ただし、問題はスクリプトや画像ではありません。
私は$.getScript()
と$(window).load()
の組み合わせを使用してJavaScriptを動的に読み込み、スクリプトの読み込みが完了すると読み込まれる関数を使用しています。
Chromeでうまくいきますが、Safariは常にonload
イベントを早くも起動させるようです。 Safariがすべてのスクリプトがdocument.body.offsetWidth
ブロックと同様に読み込まれるまで待つように強制する方法があるかどうか疑問に思っていました。私が理解したところから(そしてテストしたときに見た結果から)、スタイルとイメージがロードされるまではブロックdocument.body.offsetWidth
がブロックされますが、明らかにスクリプトではありません。
編集:それはだと言わざるを得ないかもしれないが、はSafariで動作することがありますが、パターンが表示されません。スクリプトが完全にロードされ実行される前にイベントが発生し、関数がないために$(window).load()
が渡されたハンドラーが失敗することがあります。
なぜ '$ .getScript()'に 'success'ハンドラを使用できないのですか?これは、スクリプトの読み込みが終了すると実行されます。 –
私は本当の質問はなぜあなたが動的に必要なスクリプトを読み込んでいるのかと思います。 –
@Kevin Peno:スクリプトをロードするだけでなく、残りのスクリプトも必要です。読み込まれているスクリプトがいくつかあります。彼らは機能に応じて、それぞれ独自のスクリプトに分かれています。 – alexcoco