यदि आप वास्तव में AJAX का उपयोग करने की आवश्यकता है ...
मैं यूसीस पर पहुंच गया, जहां ऑनलोड हैंडलर सही विकल्प नहीं थे। मेरे मामले में जब जावास्क्रिप्ट के माध्यम से मुद्रण। तो वास्तव में इसके लिए AJAX शैली का उपयोग करने के दो विकल्प हैं:
समाधान 1
Base64 छवि डेटा और एक REST छवि सेवा का उपयोग करें। यदि आपके पास अपना स्वयं का वेब सेवा है, तो आप एक JSP / PHP REST स्क्रिप्ट जोड़ सकते हैं जो Base64 एन्कोडिंग में चित्र प्रदान करती है। अब यह कैसे उपयोगी है? मुझे छवि एन्कोडिंग के लिए एक नया नया सिंटैक्स मिला:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
तो आप Ajax का उपयोग करके इमेज बेस 64 डेटा लोड कर सकते हैं और फिर पूरा होने पर आप इमेज में बेस 64 डेटा स्ट्रिंग का निर्माण कर सकते हैं! बहुत मज़ा :)। मैं इमेज इनकोडिंग के लिए इस साइट http://www.freeformatter.com/base64-encoder.html का उपयोग करने की सलाह देता हूं ।
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
Solution2:
अपने कैश का उपयोग करने के लिए ब्राउज़र को ट्रिक करें। यह आपको एक अच्छा फीका () देता है जब संसाधन कैश में होता है:
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
हालांकि, दोनों विधियों में इसकी कमियां हैं: पहला केवल आधुनिक ब्राउज़रों पर काम करता है। दूसरे में प्रदर्शन ग्लिच हैं और यह अनुमान लगाने पर निर्भर करता है कि कैश का उपयोग कैसे किया जाएगा।
चीयर्स, होगा