2011-10-20 3 views
1

を成功した場合>チェックjavascriptのクロスドメインの画像のロード - ロードイメージは、私は別のサイト(クロスドメイン)から画像をロードする必要が積載

私の質問は、画像が正常にロードされた場合、私は何とかチェックすることができること、ありますか? JavaScriptが

var img = new Image(); 
img.onload = function(){ 
    alert(this.src + " loaded"); 
} 
img.src="http://example.com/images/a.png"; 

答えて

6

通常は、loadイベントリスナーでこれを入れてしまうでしょう。

+0

は新しいImage()が必要ですか?もしそうなら - なぜ?そうでない場合は - なぜですか? –

+0

@MorSelaはい、必要です。新しいイメージオブジェクトを作成する必要がありますが、この時点では何もロードされません。あなたがそれを祖先に与えたら、それは読み始めます。あなたがURLを割り当てるだけであれば、jsはイメージではなく文字列が必要だと仮定します。 –

+0

onload関数をsrcプロパティの設定より上に移動します。キャッシュされたイメージは、onloadイベントハンドラが設定される前に即座にonloadを起動します。 – Greg

0

イメージをHTMLタグに読み込む場合は、onerrorイベントを使用できます。たとえば:

<img src="https://otherdomain.com/img.jpg" onerror="handleImgError();" />

handleImgError()もし実行されると、その後は、画像が正しくロードされなかったことを知っています。

+0

私はクリーンjsで何か類似したことをすることができない場合は? –

+0

Josephの回答に記載されているImageオブジェクトを使用し、 'img.complete'を使用して、ブーリアンを返します。ブラウザがイメージのダウンロードを完了した場合はtrueを返します。 'onerror()'メソッドを使うこともできます。これは上記のHTMLと非常によく似ています。 – smfoote

関連する問題