फ्लैश, जावास्क्रिप्ट, एक्सएमएल, केएमएल या गूगल मैप्स के साथ कैशिंग मुद्दों को ठीक करें

डिपॉजिटफोटो 27736851 एस

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

समस्या यह है कि हम हमेशा नए वेबिनार और प्रशिक्षण कक्षाओं के साथ फाइल को अपडेट कर रहे हैं। यदि हमारे क्लाइंट हर दिन पेज पर आते रहते हैं, तो यह प्लेलिस्ट का कैश्ड संस्करण लोड करेगा और वास्तव में उन्हें कभी भी नवीनतम और महानतम नहीं दिखाएगा।

नतीजतन, मुझे हैक करना पड़ा SWF ऑब्जेक्ट कोड ताकि यह सोचा जाए कि यह हर बार एक नई प्लेलिस्ट लोड कर रहा था।

var video = new SWFObject('player.swf','mpl','670','280','9');
var playlist = 'playlist.xml't='+Math.round(1000 * Math.random());
video.addParam('allowscriptaccess','always');
video.addParam('allowfullscreen','true');
video.addParam('flashvars','&file='+playlist+'&playlistsize=350&controlbar=over&playlist=right');
video.write('video');

जिस तरह से मैंने खिलाड़ी को बरगलाया वह सूची के नाम पर एक क्वेरीस्ट्रिंग डालकर था जिसने जावास्क्रिप्ट का उपयोग करके एक यादृच्छिक संख्या उत्पन्न की। कोई फर्क नहीं पड़ता कि कौन पृष्ठ को हिट करता है, यह एक अलग फ़ाइल नाम की तलाश में है, इसलिए खिलाड़ी हर बार प्लेलिस्ट को नए सिरे से खींचेगा।

यह केवल JW प्लेयर के लिए आसान नहीं है, मैंने इस तकनीक का उपयोग Google मानचित्र के लिए भी किया है जब KML फ़ाइलों के साथ काम किया जाता है जो गतिशील रूप से बदलती हैं। बस एक यादृच्छिक क्वेरीस्ट्रिंग उत्पन्न करें और सिस्टम हर बार उपयोगकर्ता के आने पर (काफी स्थिर) KML फ़ाइल को फिर से लोड करेगा। यह एक हैक है, लेकिन यह अनिवार्य रूप से कैशिंग को चालू करने का एक आसान तरीका है बंद इन अनुप्रयोगों में जिनके पास विकल्प नहीं है।

एक टिप्पणी

  1. 1

तुम्हें क्या लगता है?

यह साइट स्पैम को कम करने के लिए अकिस्मेट का उपयोग करती है। जानें कि आपका डेटा कैसे संसाधित किया जाता है.