ソケットライブラリを使用して、イメージの準備ができたときにサーバーが通知をプッシュできるようにすることもできます。socket.ioはここでは良いオプションのようです。
もう1つの方法はerror
、画像のイベントをリッスンしてから、xミリ秒待ってから再度ロードを試みることです。src属性を定義するたびに、ブラウザーが新しいリスナーを追加するため、これは非常に簡単に実装できます。
基本的にメタディスクリプションと同じですが、ajaxを使用する必要はありません。他のドメインから画像をロードすることもできます(ajaxにはクロスサイトポリシーがあります)。
var img = new Image(),
src = '/path/to/image.jpg';
img.onload = function() {
console.log('loaded', img);
};
img.onerror = function() {
window.setTimeout(function() {
img.src = src;
},500);
};
img.src = src;
概念実証は次のとおりです:http://jsfiddle.net/L2L3U/。プログラムは404画像を3秒間ロードしようとします。その後、srcを実際の画像に変更すると、それが表示されます。