2011-06-13 87 views
2

我想知道如何確定圖像是否在指定路徑上可用。我想,如果有指定的路徑上沒有圖像顯示錯誤消息...如何確定指定路徑上沒有圖像

對於如:

<img src="images/products/default.bmp" alt="NoImage"/> 

但如果這條道路上沒有任何圖像default.bmp然後按Alt信息noImage會顯示,但除此之外,我還想顯示錯誤消息...爲此,我需要確定沒有圖像,我怎麼能。請回復

感謝 羅米

+0

我第二本。 PLZ回答 – alt 2011-06-13 05:53:45

+0

[jQuery/Javascript替換破碎的圖像]可能的重複(http://stackoverflow.com/questions/92720/jquery-javascript-to-replace-broken-images) – mplungjan 2011-06-13 06:04:08

回答

0

使用jQuery

$('img').error(function(){ 
    console.log('error'); 
}); 

另一種方式

var img = document.getElementsByTagName('img')[0]; 
if(img.complete){ 
    console.log('loaded'); 
}else{ 
    console.log('not loaded'); 
} 
+0

我可以使用$('img')。error(函數()在NoImage Romi 2011-06-13 06:21:51

+0

@Romi之後,如果你問你的jQuery腳本是否可以在文件的後面出現比你的img標籤,是的,它當然可以。 – squidbe 2011-06-13 06:32:16

+0

@squidbe我沒有測試過這個,但我只希望jQuery onError會觸發,如果任務完成onDomReady - onload在我看來已經太晚了 – mplungjan 2011-06-13 07:43:00

0

使用IMG 「的onerror」 事件,例如

<img id="image" alt='img' src="myImg.gif"/> 
<script> 
function noImg() { 
    alert("Can't find image!"); 
} 
document.getElementById("image").onerror = noImg; 
</script> 

如果無法找到或加載img src,它會被觸發。

+0

@squidbe:謝謝,有沒有任何功能這種類型在juquery中可用? – Romi 2011-06-13 06:01:50

+0

加載onError後加載太晚。 – mplungjan 2011-06-13 06:03:15

+0

是的,[.error()](http://api.jquery.com/error/)。 – squidbe 2011-06-13 06:03:35

0

您還可以查看圖像的寬度,如果是0:

if ($(‘#imageID’).getwidth() == 0) { 
    alert("Can't find image!"); 
}