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!