2015-10-08 3 views
6

मेरे पास एक कार्य है। मेरे पास छवियों की सूची प्राप्त करने के लिए एक सर्वर कॉल है। अन्य जानकारी के साथ मुझे यह जानकारी जोड़नी है कि मौसम को कैश या सर्वर से लोड किया गया था।जांचें कि छवि कैश से लोड की गई है या नहीं

क्या कोई तरीका है कि मैं एपीआई कॉल में हेडर की जांच कर सकता हूं? यदि यह कैश से है तो मुझे स्टेटस कोड 200 मिलता है लेकिन मुझे इस तरह की अतिरिक्त जानकारी मिलती है (कैश से)। यदि यह कैश से नहीं है मैं केवल स्थिति कोड 200

छवि 1 उन जो कैश enter image description here

अगली छवि से लोड नहीं है के लिए है उन जो कैश से लोड किए गए हैं के लिए है मिलता है। enter image description here

मुझे पता चला है कि उत्तर पहले से ही दिया गया है या यह डुप्लिकेट है। मैंने उस समाधान की कोशिश की है और यह काम नहीं कर रहा है। इसके अलावा यह क्रोम विशिष्ट है, मैं कुछ और सामान्य खोज रहा हूं जो सभी ब्राउज़रों में काम करना चाहिए। मुझे उम्मीद है कि यह बताता है कि मैं उस समाधान के लिए क्यों नहीं गया था। मैंने यहां पूछने से पहले इसे खोजा है।

प्रतिक्रियाओं के लिए तत्पर हैं।

+0

संभावित डुप्लिकेट [छवि को पूरा करने के लिए image.complete का उपयोग करके यह पता लगाने के लिए कि क्रोम पर छवि कैश की गई है?] (Http://stackoverflow.com/questions/7844982/using-image-complete-to-find-if-image-is- कैश्ड-ऑन-क्रोम) –

उत्तर

3

आपको अपने लोड बाइंडिंग को चुनिंदा रूप से संभालना होगा। आप छवि ऑब्जेक्ट प्रॉपर्टी complete का परीक्षण करके लोड सत्यापित कर सकते हैं।

उदाहरण के लिए:

$('.images_to_load').each(function(index, elem) 
{ 
    if (!elem.complete) { 
     $(elem).on('load', function(){ 
      console.log('image loaded from server'); 
     }); 
    } 
    else { 
     console.log('image loaded from cache'); 
    } 
}); 

कैसे इस कोड को उपयोग करने के लिए: यह महत्वपूर्ण है कि आप अपने पृष्ठ पर वर्ग images_to_load साथ छवि टैग (src विशेषता के बिना) है कि जब कोड ऊपर क्रियान्वित। Src विशेषता (यूआरएल) जोड़ने के बाद आप यह पता लगाने में सक्षम होंगे कि कैश से कोई छवि लोड की गई है या नहीं।

+0

'.complete' का उपयोग करना आवश्यक नहीं है? बस ऑनलोड ईवेंट की प्रतीक्षा करें, जो '$ (elem) होगा। (' लोड ', फ़ंक्शन {});' इन दिनों। या यहां तक ​​कि '$ (यह) .on()' यहां। – Shikkediel

+0

@Shikkediel क्या आप यहां थोड़ा और विस्तार कर सकते हैं? शायद एक कोड स्पिनेट या जेएसएफडल? – mohsinali1317

+2

@Shikkediel मुद्दा यह है कि कुछ लोडरों में छवि को कैश से खींचा जाने पर 'लोड() 'हमेशा आग नहीं होती है। –

संबंधित मुद्दे