Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Memastikan Peristiwa `onload` Imej Menyala Walaupun Dengan Caching Penyemak Imbas?

Bagaimana untuk Memastikan Peristiwa `onload` Imej Menyala Walaupun Dengan Caching Penyemak Imbas?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 01:45:02522semak imbas

How to Ensure an Image's `onload` Event Fires Even With Browser Caching?

Pemuatan Imej Dicache dan Cache Penyemak Imbas

Apabila cuba memaparkan amaran selepas memuatkan imej, peristiwa .onload mungkin gagal dicetuskan jika imej telah dicache dalam penyemak imbas. Untuk memastikan amaran dipaparkan tanpa mengira caching, terdapat beberapa pendekatan:

Menetapkan Harta Muatan Sebelum Sumber

Konfigurasikan sifat .onload sebelum menetapkan sumber (src) daripada imej itu. Ini memastikan pendengar acara onload didaftarkan sebelum penyemak imbas menyemak cachenya untuk imej:

var img = new Image();
img.onload = function () {
   alert("image is loaded");
}
img.src = "img.jpg";

Menggunakan Pengendali Acara jQuery

Sebagai alternatif, gunakan jQuery's .on ('muat') pengendali acara. Kaedah ini amat berkesan untuk imej yang dijana secara dinamik:

var img = new Image();
// 'load' event
$(img).on('load', function() {
  alert("image is loaded");
});
img.src = "img.jpg";

Kedua-dua kaedah berkesan mencetuskan peristiwa amaran tanpa mengira sama ada imej itu dicache atau tidak. Dengan mengubah suai susunan pendaftaran acara atau menggunakan jQuery, acara .onload boleh dijamin untuk menyala walaupun imej berada dalam cache penyemak imbas.

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Peristiwa `onload` Imej Menyala Walaupun Dengan Caching Penyemak Imbas?. 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