2016-03-10 47 views
0

如何檢查加載的圖像是否已正確加載或損壞? 我不想將「onload」事件添加到圖像。檢查圖像是否在頁面上損壞

在進入頁面時,我需要確定頁面上的任何圖像是否已損壞。

謝謝!

+0

更好的去與服務器端實現 – madalinivascu

+0

我同意這是正確的方式去,但因爲我測試它,我想處理它的客戶端,當這不工作,然後我可以去一個服務器端實現。 – Anu7

回答

1

檢查img元素的naturalWidth,它的分解如果naturalWidth爲0

var x = document.getElementById("myImg").naturalWidth; 
+0

我認爲這是一個很好的解決方案,我可以遍歷頁面上的所有圖像並檢查是否存在任何破碎的圖像 - 但我有疑問 - 如果在出現圖像損壞時將其替換爲「圖像未加載' 圖片 ? 'naturalWidth/naturalHeight'仍然會顯示0/undefined?還是會顯示替換原始圖像的新「圖像未加載」圖像的寬度? – Anu7

+0

它會顯示新的'圖像未加載'圖像的寬度。 – Jay

+0

只要沒有'替換圖像',這對我來說絕對好。謝謝你傑伊! – Anu7

0

您可以在Jquery中使用load()函數。例如

$("#Img").load(function() { 
    alert('I loaded!'); 
}); 

http://api.jquery.com/load/

+0

如果他在每個5MB大小的頁面上有1000張圖像,會發生什麼情況? – madalinivascu

+0

和你forgoth的圖像的url – madalinivascu

+0

感謝您的答覆詹姆斯!將有相當多的圖像,我必須動態和快速檢查,以驗證頁面是否有任何損壞的圖像。所以我會關心時間消耗和我必須採購這些解決方案的數據。 – Anu7

1

你可以使用jQuery誤差函數

$('img').error(function(){ 
     alert("miss " + $(this).attr("src")); 
}); 

內該功能可以做一些動作

+0

謝謝你的回覆!我會看看在我的情況下這是否合理。 – Anu7