Je dois être capable de détecter si une image est cassée et remplacez par une image par défaut si le lien d'image est cassé. Je sais que je pouvais faire cela avec un proxy d'image, mais j'espérais le faire à la volée avec JavaScript. P>
4 Réponses :
Je crois que c'est l'événement Onerror code> du
IMG code>.
onerror = fonction () {} code> si je ne l'ai jamais utilisé. P>
Travaille-t-il dans tous les navigateurs? Informations connexes est manquante dans développeur.mozilla.org/en-us / Docs / Web / API / GlobalEventhandlers / ...
Vous pouvez utiliser http://msdn.microsoft.com /en-us/library/cc197053(v=vs.85).aspx p> etc etc p>
Vraiment une façon de faire ça!
Exemple de code:
<script language='javascript'> function defaultImage(img) { img.onerror = ""; img.src = 'default.gif'; } </script> <img alt="My Image" src="someimage.gif" onerror="defaultImage(this);" />
Dans le cas habituel - cela fonctionnera bien. Mais je suis assez sûr que cela provoquera une boucle infinie si par défaut.gif code> est également cassé / non trouvé. C'est pourquoi, dans Stackoverflow.com/Questtions/92720 / ... le jeu de réponses alternatifs img.onerror à vide dans la fonction par défautImage
Comme tout événement, le Onerror code> se propagera vers le haut sur le DOM, de sorte que vous puissiez créer un gestionnaire générique pour ce type d'erreurs.
<script type="text/javascript">
jQuery(document).bind('error', function(event) {
console.log(event.target.src);
});
</script>
Similaire post: Stackoverflow.com/questions/92720 / ...