2011-12-08 6 views
7

Muszę dynamicznie wczytać obrazy na stronie internetowej w JavaScript, ale trzeba złapać, jeśli obraz się nie załaduje, jak to zrobić?
Na przykład:Łapanie, w którym obraz nie może załadować się z adresu URL src

try{ 
    var img = new Image(); 
    img.src = "404_not_found.png"; 
} catch(err) { 
    // tried this but didn't work 
} 

Tak, wiem, że nie jestem nawet czekając na obrazek, aby onload ale kiedy wystąpi 404, metoda onload nie nazywa się tak.

Odpowiedz

12

Przed przypisać właściwość .src, trzeba ustawić onload, onerror i onabort funkcje obsługi. Możesz także ustawić czasomierz, aby można było założyć, że nie zostanie załadowany, jeśli żadna z procedur obsługi nie została wywołana, gdy timer się uruchomi.

Oto przykład praca: http://jsfiddle.net/jfriend00/48JmQ/

var img = new Image(); 
img.onerror = function() {alert("error")}; 
img.onabort = function() {alert("abort")}; 
img.onload = function() {alert("success")}; 
img.src = "404_not_found.png"; 
Powiązane problemy