3
ロードイベントhttp://api.jquery.com/load-event/のjQueryドキュメントでは、 Can cease to fire for images that already live in the browser's cache
と表示されています。どのブラウザに影響を与えるか、どのような状況でこれ以上の情報を入手できますか?クロスブラウザイメージのオンロードイベント処理
ロードイベントhttp://api.jquery.com/load-event/のjQueryドキュメントでは、 Can cease to fire for images that already live in the browser's cache
と表示されています。どのブラウザに影響を与えるか、どのような状況でこれ以上の情報を入手できますか?クロスブラウザイメージのオンロードイベント処理
影響を受けるブラウザはわかりませんが、確認するのは簡単です。
var img = new Image();
img.src = "foo.jpg";
if (img.complete || img.readyState === 4) {
// image is cached
doneCallback();
}
else {
$(img).on('load',doneCallback);
}
UPDATE
あなたは周りのコードを変更した場合、それは一貫してすべてのブラウザで、ロードイベントを発生します。
ブラウザにイメージがキャッシュされている場合、最初にロードチェックを実行せずにsrcを設定した後に直接ロードされますか? – ddlshack
はい、ロード・コールバックをトリガーしないことがあります。そのため、既に読み込みが完了しているかどうかが最初にチェックされます。すでにロードが完了している場合は、ロードイベントがトリガされないため、バインドしません。 –
画像srcを変更する前にloadイベントがバインドされている場合はどうですか?これにより、ロードイベントが常に発生しますか? – ddlshack