Rumah  >  Artikel  >  hujung hadapan web  >  Mengapakah kod penggantian imej onerror saya gagal dalam Chrome dan Mozilla?

Mengapakah kod penggantian imej onerror saya gagal dalam Chrome dan Mozilla?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 16:20:30361semak imbas

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

Menggunakan Atribut onerror untuk Imej

Atribut onerror menentukan tindakan yang perlu diambil apabila imej tidak boleh dimuatkan. Dalam kes ini, anda telah memberikan kod untuk mengubah suai atribut src dan menggantikan imej yang rosak dengan yang lalai.

Walau bagaimanapun, anda menghadapi masalah dengan kod ini tidak berfungsi dalam Chrome dan Mozilla, walaupun berfungsi dalam IE.

Jawapannya terletak pada hakikat bahawa penyemak imbas moden mencetuskan peristiwa ralat beberapa kali jika URL sandaran yang disediakan dalam pengendali kesalahan juga tidak sah. Ini membawa kepada gelung tak terhingga, kerana acara berulang kali dicetuskan dan atribut src terus diubah suai.

Untuk menangani ini, anda boleh mengubah suai kod anda seperti berikut:

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

Oleh menetapkan this.onerror=null, anda menghalang peristiwa ralat daripada dicetuskan semula. Ini, seterusnya, memastikan bahawa imej tidak akan diganti tanpa henti.

Anda juga boleh merujuk kepada demo langsung di http://jsfiddle.net/oLqfxjoz/ untuk menggambarkan pelaksanaannya.

Atas ialah kandungan terperinci Mengapakah kod penggantian imej onerror saya gagal dalam Chrome dan Mozilla?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn