ホームページ > ウェブフロントエンド > CSSチュートリアル > onerror 画像置換コードが Chrome と Mozilla で失敗するのはなぜですか?

onerror 画像置換コードが Chrome と Mozilla で失敗するのはなぜですか?

Linda Hamilton
リリース: 2024-11-03 16:20:30
オリジナル
393 人が閲覧しました

Why does my onerror image replacement code fail in Chrome and Mozilla?

イメージの onerror 属性の使用

onerror 属性は、イメージをロードできないときに実行するアクションを指定します。この場合、src 属性を変更し、問題のあるイメージをデフォルトのイメージに置き換えるコードを提供しました。

ただし、このコードは、IE では機能しても、Chrome と Mozilla では機能しないという問題が発生しました。

その答えは、onerror ハンドラーで提供されたバックアップ URL も無効な場合、最新のブラウザーがエラー イベントを複数回トリガーするという事実にあります。イベントが繰り返し発生し、src 属性が変更され続けるため、これにより無限ループが発生します。

これに対処するには、コードを次のように変更できます。

<img src="invalid_link" onerror="this.onerror=null;this.src='https://placeimg.com/200/300/animals';">
ログイン後にコピー

By this.onerror=null を設定すると、エラー イベントが再度トリガーされなくなります。これにより、イメージが際限なく置き換えられることがなくなります。

実装を視覚化するには、http://jsfiddle.net/oLqfxjoz/ のライブ デモを参照することもできます。

以上がonerror 画像置換コードが Chrome と Mozilla で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート