2011-12-08 9 views
7

Necesito cargar imágenes en una página web dinámicamente en Javascript, pero necesito detectar si alguna imagen no se carga, ¿cómo puedo hacer esto?
Por ejemplo:Captura donde una imagen no se carga desde una url del src

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

Sí, sé que ni siquiera estoy esperando la imagen para onload pero cuando se produce un error 404, el método de proceso de carga no se consiga llamar de todos modos.

Respuesta

12

Antes de asignar la propiedad .src, debe configurar onload, onerror y onabort funciones de controlador. Y, también puede configurar un temporizador para que pueda suponer que no se cargará si no se ha llamado a ninguno de los controladores cuando se dispara el temporizador.

Aquí está un ejemplo de trabajo: 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"; 
Cuestiones relacionadas