Исправление .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.