2010-08-17 7 views
11

J'ai quelque chose comme:javascript vérifier si img src est valide?

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

Si le client ne peut pas obtenir cette ressource, je voudrais le remplacer par:

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

Je sais que je peux mettre onError = function() dans l'image tag, mais comment puis-je passer l'Id à onError, afin que je puisse avoir une fonction onError qui peut changer le src de toutes les mauvaises photos? L'ajout de l'attribut onError est en effet la bonne façon de le gérer.

Répondre

1

Dans votre cas, vous ajouter quelque chose comme:

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

Oui, vous pouvez utiliser l'événement onerror, sur des éléments d'image est vraiment widely supported, par exemple:

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'; 

Vérifiez un exemple here.

2

Mettre ceci dans la balise image:

onError="image_error(this.id)" 

qui passera l'ID de l'image à image_error fonction .... duh

Questions connexes