Memperbaiki .load () di IE untuk gambar cache - Trik CSS

Anonim

Fungsi .load () dijalankan ketika elemen yang dipanggilnya dimuat penuh. Ini biasanya digunakan pada gambar, yang mungkin tidak sepenuhnya dimuat saat JavaScript awalnya dijalankan, dan dengan demikian akan mengembalikan informasi yang salah tentang dirinya (misalnya tinggi / lebar). Sebagian besar browser menangani ini dengan baik. IE dapat menyebabkan masalah, saat gambar pada halaman di-cache.

Memilih gambar dan mengubah atribut srcnya untuk menambahkan parameter acak (berdasarkan tanggal). Ini akan mengelabui IE agar mengaktifkan fungsi .load () dengan benar.

myImge = $("") .attr("src",anyDynamicSource+ "?" + new Date().getTime());

Sekarang fungsi .load () akan berfungsi, bahkan di IE:

$(myImge).load(function() ( alert("will alert even in IE") ));
Lihat komentar pertama untuk peringatan tentang menggunakan teknik ini dengan CDN.