ホームページ >ウェブフロントエンド >CSSチュートリアル >画像要素の onerror 属性がブラウザ間で一貫性のない動作をするのはなぜですか?

画像要素の onerror 属性がブラウザ間で一貫性のない動作をするのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 10:22:29512ブラウズ

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

画像要素の onerror 属性の使用

HTML では、onerror 属性を使用して、画像が失敗したときに実行するアクションを指定できます。ロードします。ただし、この属性は特定のブラウザでは常に期待どおりに機能するとは限らないことが観察されています。

提供された例では、壊れた画像のソースを変更するために onerror 属性が使用されており、動作はブラウザによって異なります。 。この問題に対処するには、アプローチを変更する必要があります。

以下の更新されたコード スニペットは、IE との互換性を維持しながら Chrome と Mozilla の問題を解決します。

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

this.onerror=null を使用する onerror ハンドラー。画像のソースを変更する前に、バックアップ URL も無効な場合に発生する可能性のある無限ループを防ぐことができます。

このアプローチのライブ デモンストレーションは、http://jsfiddle.net/oLqfxjoz/ でご覧いただけます。

以上が画像要素の onerror 属性がブラウザ間で一貫性のない動作をするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。