SE AVETE VERAMENTE BISOGNO DI USARE AJAX ...
Mi sono imbattuto in casi in cui i gestori di onload non erano la scelta giusta. Nel mio caso quando si stampa tramite javascript. Quindi ci sono in realtà due opzioni per usare lo stile AJAX per questo:
Soluzione 1
Utilizzare i dati di immagine Base64 e un servizio di immagine REST. Se si dispone di un proprio servizio Web, è possibile aggiungere uno script REST JSP / PHP che offre immagini con codifica Base64. Ora, come è utile? Mi sono imbattuto in una nuova sintassi interessante per la codifica delle immagini:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
Quindi puoi caricare i dati di Image Base64 usando Ajax e, al termine, costruisci la stringa di dati Base64 sull'immagine! Gran divertimento :). Consiglio di utilizzare questo sito http://www.freeformatter.com/base64-encoder.html per la codifica delle immagini.
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
Solution2:
Ingannare il browser per utilizzare la sua cache. Questo ti dà una bella dissolvenza () quando la risorsa è nella cache del browser:
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
Tuttavia, entrambi i metodi hanno i suoi svantaggi: il primo funziona solo su browser moderni. Il secondo presenta problemi di prestazioni e si basa sul presupposto di come verrà utilizzata la cache.
salute, volontà