Corrigindo .load () no IE para imagens em cache - CSS-Tricks

Anonim

A função .load () é acionada quando o elemento que é chamado está totalmente carregado. É comumente usado em imagens, que podem não ser totalmente carregadas quando o JavaScript é executado originalmente e, portanto, retornam informações incorretas sobre elas mesmas (por exemplo, altura / largura). A maioria dos navegadores lida com isso. O IE pode causar problemas, quando as imagens da página são armazenadas em cache.

Selecionando a imagem e alterando seu atributo src para anexar um parâmetro aleatório (com base na data). Isso enganará o IE para acionar a função .load () corretamente.

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

Agora a função .load () funcionará, mesmo no IE:

$(myImge).load(function() ( alert("will alert even in IE") ));
Veja o primeiro comentário para um aviso sobre o uso dessa técnica com um CDN.