WENN SIE AJAX WIRKLICH VERWENDEN MÜSSEN ...
Ich bin auf Fälle gestoßen, in denen die Onload-Handler nicht die richtige Wahl waren. In meinem Fall beim Drucken über Javascript. Es gibt also zwei Möglichkeiten, den AJAX-Stil dafür zu verwenden:
Lösung 1
Verwenden Sie Base64-Bilddaten und einen REST-Bilddienst. Wenn Sie über einen eigenen Webservice verfügen, können Sie ein JSP / PHP-REST-Skript hinzufügen, das Bilder in Base64-Codierung bietet. Wie ist das nun nützlich? Ich bin auf eine coole neue Syntax für die Bildcodierung gestoßen:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
Sie können also die Image Base64-Daten mit Ajax laden und nach Abschluss die Base64-Datenzeichenfolge für das Image erstellen! Viel Spaß :). Ich empfehle, diese Website http://www.freeformatter.com/base64-encoder.html für die Bildcodierung zu verwenden.
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
Lösung 2:
Trick den Browser, um seinen Cache zu verwenden. Dies gibt Ihnen ein schönes fadeIn (), wenn sich die Ressource im Browser-Cache befindet:
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
Beide Methoden haben jedoch ihre Nachteile: Die erste funktioniert nur mit modernen Browsern. Der zweite hat Leistungsprobleme und beruht auf der Annahme, wie der Cache verwendet wird.
Prost, wird