2011-12-08 6 views
7

Ho bisogno di caricare le immagini in una pagina web in modo dinamico in Javascript, ma devo catturare se qualche immagine non riesce a caricare, come posso fare questo?
Per esempio:Catching in cui un'immagine non riesce a caricare da un src url

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

Sì, lo so che non sono nemmeno in attesa che l'immagine da onload, ma quando si verifica un 404, il metodo onLoad non viene chiamato in ogni caso.

risposta

12

Prima di assegnare la proprietà .src, è necessario impostare onload, onerror, e onabort funzioni del gestore. E, potresti anche voler impostare un timer in modo che tu possa pensare che non verrà caricato se nessuno dei gestori è stato chiamato quando scatta il timer.

Ecco un esempio di lavoro: 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"; 
Problemi correlati