Åtgärda .load () i IE för cachade bilder - CSS-tricks

Anonim

.Load () -funktionen utlöses när elementet det kallas på är fullastat. Det används vanligtvis på bilder, som kanske inte är helt laddade när JavaScript ursprungligen körs och därmed skulle returnera felaktig information om sig själva (t.ex. höjd / bredd). De flesta webbläsare hanterar detta bra. IE kan orsaka problem när bilder på sidan cachas.

Välja bilden och ändra dess src-attribut för att lägga till en slumpmässig parameter (baserat på datumet). Detta kommer att lura IE att avfyra .load () -funktionen ordentligt.

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

Nu fungerar .load () -funktionen, även i IE:

$(myImge).load(function() ( alert("will alert even in IE") ));
Se den första kommentaren för en varning om att använda denna teknik med ett CDN.