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

डिपॉजिटफोटो 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 मैप्स के लिए भी किया है जब केएमएल फाइलों से निपटते हैं जो गतिशील रूप से बदलते हैं। बस एक यादृच्छिक querystring उत्पन्न करते हैं और सिस्टम हर बार उपयोगकर्ता के दौरे पर (काफी स्थिर) KML फ़ाइल को पुनः लोड करेगा। यह एक हैक है, लेकिन यह अनिवार्य रूप से कैशिंग को चालू करने का एक आसान तरीका है बंद इन अनुप्रयोगों में विकल्प नहीं है।

एक टिप्पणी

  1. 1

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

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