Naprawianie .load () w IE dla obrazów w pamięci podręcznej - CSS-Tricks

Anonim

Funkcja .load () jest uruchamiana, gdy wywoływany element jest w pełni załadowany. Jest powszechnie używany na obrazach, które mogą nie zostać w pełni załadowane podczas oryginalnego działania JavaScript, przez co zwracałyby nieprawidłowe informacje o sobie (np. Wysokość / szerokość). Większość przeglądarek radzi sobie z tym dobrze. IE może powodować problemy, gdy obrazy na stronie są buforowane.

Wybór obrazu i zmiana jego atrybutu src, aby dołączyć losowy parametr (na podstawie daty). To oszuka IE, aby poprawnie uruchomił funkcję .load ().

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

Teraz funkcja .load () będzie działać, nawet w IE:

$(myImge).load(function() ( alert("will alert even in IE") ));
Zobacz pierwszy komentarz dotyczący ostrzeżenia o używaniu tej techniki z CDN.