首頁  >  文章  >  web前端  >  為什麼我的 onerror 圖像替換代碼在 Chrome 和 Mozilla 中失敗?

為什麼我的 onerror 圖像替換代碼在 Chrome 和 Mozilla 中失敗?

Linda Hamilton
Linda Hamilton原創
2024-11-03 16:20:30359瀏覽

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

對映像使用 onerror 屬性

onerror 屬性指定當映像無法載入時要採取的操作。在本例中,您提供了程式碼來修改 src 屬性,並將有問題的影像替換為預設影像。

但是,您遇到了以下問題:此程式碼無法在 Chrome 和 Mozilla 中運行,儘管可以在 IE 中運行。

答案在於,如果 onerror 處理程序中提供的備份 URL 也無效,現代瀏覽器會多次觸發錯誤事件。這會導致無限循環,因為事件被重複觸發並且 src 屬性不斷被修改。

要解決此問題,您可以如下修改程式碼:

<img src="invalid_link" onerror="this.onerror=null;this.src='https://placeimg.com/200/300/animals';">

透過設定 this.onerror=null 可以防止再次觸發錯誤事件。這反過來又確保了圖像不會被無休止地取代。

您也可以參考 http://jsfiddle.net/oLqfxjoz/ 的現場示範來視覺化實作。

以上是為什麼我的 onerror 圖像替換代碼在 Chrome 和 Mozilla 中失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn