4 votes

Détecter un chargement d'image 404 en javascript/jquery quand il y a du contenu retourné ?

J'ai rencontré un dilemme avec la gestion des erreurs de jQuery (ou plus précisément avec l'événement javascript onerror du navigateur). J'ai un gestionnaire d'image qui charge une image à partir de la base de données, et si elle n'est pas trouvée, il renvoie un code d'état 404 mais aussi une image non trouvée par défaut.

Il s'avère que si le corps du contenu n'est pas vide, le navigateur ne déclenche pas l'événement onerror. jQuery affirme que cela est basé sur le code d'état de la réponse, mais cela ne doit pas être vrai. Quelqu'un connaît-il un moyen de contourner ce problème ?

1voto

Russ C Points 8403

J'ai tapé une longue réponse mais mon navigateur l'a mâchée... Jetez un coup d'œil à l'article suivant et voyez ce qui se passe si vous liez OnError à vos images. après le DOM a été chargé :

http://maisonbisson.com/post/12150/detecting-broken-images-in-javascript/

Méfiez-vous cependant, car la méthode que vous essayez d'appliquer est une solution de rechange à quelque chose qui est en fait un comportement valide.

Au lieu de renvoyer un 404 puis une image par défaut, pourquoi ne pas simplement renvoyer l'image par défaut et un OK, si votre gestionnaire d'image ne trouve pas l'image demandée ? Après tout, même si ce n'est pas l'image spécifique dont vous avez besoin, c'est toujours une réponse valide, bien que par défaut.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X