Виправлення .load () в IE для кешованих зображень - CSS-хитрощі

Anonim

Функція .load () спрацьовує, коли елемент, до якого вона викликається, повністю завантажений. Він зазвичай використовується на зображеннях, які можуть не завантажуватися повністю, коли JavaScript спочатку працює, і, отже, повертатиме неправильну інформацію про себе (наприклад, висоту / ширину). Більшість браузерів мають справу з цим штрафом. IE може спричинити проблеми, коли зображення на сторінці кешуються.

Виділення зображення та зміна його атрибута src для додавання випадкового параметра (на основі дати). Це змусить IE правильно запустити функцію .load ().

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

Тепер функція .load () буде працювати навіть у IE:

$(myImge).load(function() ( alert("will alert even in IE") ));
Дивіться перший коментар для попередження щодо використання цієї техніки з CDN.