2013-05-02 74 views
1

我在嘗試檢測圖像是否可用於javascript如何檢測圖像路徑是否被破壞?

我有一個switch語句返回不同類型的圖像。

switch (type){ 

case 'oldProduct': 
return "<img src='project/'" + folder + imagename + "/>" 
break; 

case 'newProduct': 
return "<img src='project/'" + folder2 + imagename2 + "/>" 
break; 

more cases.... 

} 

我想知道在返回圖像之前是否有圖像存在。在我的情況下,<img src='project/'" + folder2 + imagename2 + "/img> src可能是一條破碎的路徑。非常感謝!

+0

所以,你需要的,如果圖像送達或不從服務器specifed道路的權利,以檢測? – WooCaSh 2013-05-02 17:07:47

+1

您可以用JS下載圖像,例如通過$ .get(jQuery)並檢查響應的狀態。 – 2013-05-02 17:11:08

+0

@WooCaSh是的,這是正確的。 – Rouge 2013-05-02 17:13:14

回答

2

如果你只是想使用JavaScript,而不是jQuery的我唯一的建議是將圖像加載到頁面就像

<img src="yoursrc" id="testImage" style="display:none;"/> 

然後檢查onError方法「不可能不工作,真的老了,即」

var image = document.getElementById('testImage'); 
im.onerror = function(){ 
    //do something on error 
}; 

然而,一個更簡潔更可靠的方法是運行jquery get圖像。

像這樣

function checkImg(src){ 
    var jqxhr = $.get(src, function() { 
    return true; 
    }).fail(function() { 
    return false; 
    }); 
}