Maison >interface Web >tutoriel CSS >Pourquoi l'attribut onerror pour les éléments d'image se comporte-t-il de manière incohérente dans les navigateurs ?

Pourquoi l'attribut onerror pour les éléments d'image se comporte-t-il de manière incohérente dans les navigateurs ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 10:22:29516parcourir

Why Does the onerror Attribute for Image Elements Behave Inconsistently Across Browsers?

Utilisation de l'attribut onerror pour les éléments d'image

En HTML, l'attribut onerror vous permet de spécifier une action à entreprendre lorsqu'une image échoue à charger. Cependant, il a été observé que cet attribut ne fonctionne pas toujours comme prévu dans certains navigateurs.

Dans l'exemple fourni, où l'attribut onerror est utilisé pour changer la source des images cassées, le comportement diffère selon les navigateurs. . Pour résoudre ce problème, une approche modifiée est requise.

Les extraits de code mis à jour ci-dessous résolvent le problème dans Chrome et Mozilla tout en conservant la compatibilité avec IE :

<code class="css">.posting-logo-div {
}
.posting-logo-img {
  height: 120px;
  width: 120px;
}
.posting-photo-div {
  height: 5px;
  width: 5px;
  position: relative;
  top: -140px;
  left: 648px;
}
.posting-photo-img {
  height: 240px;
  width: 240px;
}</code>
<code class="html"><div id="image" class="posting-logo-div">
  <img src="invalid_link"
       onerror="this.onerror=null;this.src='https://placeimg.com/200/300/animals';"
   class="posting-logo-img"
  />
</div>
<div id="photo" class="posting-photo-div">
  <img src="invalid_link"
       onerror="this.onerror=null;this.src='https://placeimg.com/200/300/animals';"
       class="posting-photo-img"
  />
</div></code>

En annulant le gestionnaire d'erreur utilisant this.onerror=null ; avant de changer la source de l'image, nous pouvons éviter une boucle infinie qui pourrait se produire si l'URL de sauvegarde est également invalide.

Une démonstration en direct de cette approche peut être trouvée sur : http://jsfiddle.net/oLqfxjoz/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn