Correzione di .load () in IE per le immagini memorizzate nella cache - Trucchi CSS

Anonim

La funzione .load () si attiva quando l'elemento su cui viene chiamata è completamente caricato. È comunemente usato sulle immagini, che potrebbero non essere completamente caricate quando JavaScript viene eseguito originariamente, e quindi restituirebbe informazioni errate su se stesse (ad esempio altezza / larghezza). La maggior parte dei browser si occupa di questa multa. IE può causare problemi, quando le immagini sulla pagina vengono memorizzate nella cache.

Selezionando l'immagine e cambiando il suo attributo src per aggiungere un parametro casuale (basato sulla data). Questo indurrà IE ad attivare correttamente la funzione .load ().

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

Ora la funzione .load () funzionerà, anche in IE:

$(myImge).load(function() ( alert("will alert even in IE") ));
Vedere il primo commento per un avviso sull'utilizzo di questa tecnica con un CDN.