2010-08-16 74 views
8

我需要能夠檢測圖像是否損壞,如果圖像鏈接損壞,請用默認圖像替換。我知道我可以使用圖片代理來做到這一點,但希望能夠在JavaScript中隨時做到這一點。在javascript中檢測破碎圖像的方法?

+2

類似的帖子:http://stackoverflow.com/questions/92720/jquery-javascript-to-replace-broken-images – jessegavin 2010-08-16 16:55:57

回答

11

我相信這是img元素的onerror事件。 onerror=function(){}雖然我從來沒有用過它。

-1

例子:

<script language='javascript'> 
function defaultImage(img) 
{ 
    img.onerror = ""; 
    img.src = 'default.gif'; 
} 
</script> 
<img alt="My Image" src="someimage.gif" onerror="defaultImage(this);" /> 
+2

在通常的情況下 - 這將工作正常。但我相當肯定,如果'default.gif'也被破壞/未找到,這將導致無限循環。這就是爲什麼在http://stackoverflow.com/questions/92720/jquery-javascript-to-replace-broken-images AC響應設置img.onerror在defaultImage函數中爲空 – 2010-08-16 17:02:42

+0

好點。我會改變它。 – 2010-08-16 17:53:38

5

由於任何情況下onerror將向上傳播的DOM,所以你可以做一個通用處理器這種類型的錯誤。

<script type="text/javascript"> 
jQuery(document).bind('error', function(event) { 
    console.log(event.target.src); 
}); 
</script>