2010-08-17 18 views
11

tengo algo como:javascript comprueba si img src es válido?

document.getElementById('MyPicture').src = 'attempted.png'; 

Si el cliente no puede obtener ese recurso, me gustaría reemplazarlo con:

document.getElementById('MyPicture').src = 'error.png' 

sé que puedo poner onError = function() en la imagen etiqueta, pero ¿cómo puedo pasar el Id a onError, para que pueda tener una función onError que pueda cambiar el src de cualquier foto mala?

Respuesta

1

Agregar el atributo onError es, de hecho, la forma correcta de manejarlo. En su caso, deberá añadir algo como:

var myPicture = document.getElementById('MyPicture'); 
myPicture.onError = errorHandler(); 

function errorHandler(msg,file_loc,line_num) { 
    myPicture.src = 'http://www.google.com/intl/en_ALL/images/srpr/logo1w.png'; 
} 
13

Sí, se puede utilizar el evento onerror, en elementos de imagen es realmente widely supported, por ejemplo:

var image = document.getElementById('MyPicture'); 
image.onerror = function() { 
    alert('error loading ' + this.src); 
    this.src = 'error.png'; // place your error.png image instead 
}; 

image.src = 'non-existing.jpg'; 

Consulta un ejemplo here.

2

poner esto en la etiqueta de la imagen:

onError="image_error(this.id)" 

que pasará el id de la imagen para la función image_error .... duh

Cuestiones relacionadas