imgタグを配置すると、src属性が動的に作成されます。取得を回避するために、src(画像が置かれているパス)が実際にjavascriptで存在するかどうかをテストする方法はありますか?
error
イベントを使用できます:
var im = document.getElementById('imageID'); // or select based on classes
im.onerror = function(){
// image not found or change src like this as default image:
im.src = 'new path';
};
インラインバージョン:
<img src="whatever" onError="this.src = 'new default path'" />
または
<img src="whatever" onError="doSomething();" />
<img>
タグは次のイベントをサポートしています。
abort
(onAbort)error
(onError)load
(onLoad)詳細情報:
以前のajax呼び出しを(head
メソッドを使用して)行い、サーバーのリターンコードを確認するか、onerror
イベントを使用してURLを変更したり、非表示にしたりできます。
<img src="notexist.jpg" onerror="this.style.visibility = 'hidden'">
(アイデアを説明するためだけにインライン属性を使用しました)
Javascriptを使用してsrcを動的に作成する場合、これを使用できます。
var obj = new Image();
obj.src = "http://www.javatpoint.com/images/javascript/javascript_logo.png";
if (obj.complete) {
alert('worked');
} else {
alert('doesnt work');
}