विंडो से कैश मेमोरी ऐक्सेस करना

ये सभी काम हम window के बाहर कर रहे हैं. इसलिए, आपको लग सकता है कि Cache इंस्टेंस सिर्फ़ सर्विस वर्कर स्कोप से ऐक्सेस किए जा सकते हैं. तथ्य यह है कि आप window में चलने वाले अपने वेब ऐप्लिकेशन के पारंपरिक कोड और दोनों में Cache इंस्टेंस ऐक्सेस कर सकते हैं. इससे उपयोगकर्ता को, सर्विस वर्कर कैश के साथ सीधे इंटरैक्ट करना आसान हो जाता है या कैश की स्थिति के आधार पर यूज़र इंटरफ़ेस अपडेट करना आसान हो जाता है.

इस्तेमाल का एक संभावित उदाहरण उन पेजों के लिए "ऑफ़लाइन सेव करें" सुविधा उपलब्ध कराना है जिन्हें उपयोगकर्ता बाद में पढ़ना तो चाहते हैं, लेकिन पता होना चाहिए कि उस समय वे ऑफ़लाइन हो सकते हैं. नीचे दिया गया ग्लिच एम्बेड दिखाता है कि वर्कबॉक्स के साथ यह कैसे किया जाता है.

ऊपर दिए गए एम्बेड में, देखा जा सकता है कि जब "ऑफ़लाइन के लिए सेव करें" बटन पर क्लिक किया जाता है, तो window कॉन्टेक्स्ट से app.js स्क्रिप्ट, ऑफ़लाइन कैश मेमोरी में लिखती है. सर्विस वर्कर में, पेज की स्टैटिक एसेट को ऑफ़लाइन ऐक्सेस के लिए, पहले से कैश मेमोरी में सेव किया जाता है. NetworkOnly रणनीति का इस्तेमाल ऐसे खास हैंडलर के साथ किया जाता है जो कैश मेमोरी में सेव किए गए पेजों का ऑफ़लाइन ऐक्सेस मैनेज करता है और जिसे NavigationRoute को भेजा जाता है.

Glitch एम्बेड करने की सुविधा की जांच करने के लिए, ये काम करें:

  1. एक नई ब्राउज़र विंडो खोलें और https://save-for-offline-test.glitch.me/ पर नेविगेट करें
  2. ऑफ़लाइन रीडिंग लिस्ट में जोड़ें वाले बटन पर क्लिक करें.
  3. अपने ब्राउज़र के डेवलपर टूल, Firefox या Chrome में खोलें. अगर Chrome का इस्तेमाल किया जा रहा है, तो ऐप्लिकेशन पैनल पर जाएं. Firefox में, स्टोरेज पैनल पर जाएं.
  4. दोनों ही ब्राउज़र के डेवलपर टूल में, आपको बाएं पैनल में कैश स्टोरेज आइटम दिखेगा. इसे बड़ा करने के लिए क्लिक करें. ऑफ़लाइन-कैश एंट्री में, आपको दाएं पैनल में उस पेज का यूआरएल दिखेगा जिसे आपने अभी-अभी जोड़ा है.
  5. पेज पर सबसे नीचे, किसी अन्य पेज के लिंक पर क्लिक करें.
  6. ऑफ़लाइन कनेक्शन को सिम्युलेट करने के लिए, किसी भी ब्राउज़र में ऑफ़लाइन मोड टॉगल करें.
  7. उस पेज के लिंक पर क्लिक करें जिसे आपने ऑफ़लाइन कैश में जोड़ा है. यह आपके ऑफ़लाइन होने पर भी दिखाई देना चाहिए.
  8. किसी ऐसे पेज के लिंक पर क्लिक करें जिसे आपने ऑफ़लाइन कैश में नहीं जोड़ा है. अनुरोध अस्वीकार कर दिया जाएगा.

window में Cache इंस्टेंस के साथ काम करने के लिए, इस्तेमाल का यह अकेला उदाहरण नहीं है. उदाहरण के लिए, ऐसी एसेट को अनुमानित तौर पर प्रीफ़ेच और कैश मेमोरी में सेव किया जा सकता है जिन्हें आपको पता है कि उपयोगकर्ता को कोई खास कार्रवाई करनी होगी. इससे, मांग पर उन एसेट के डाउनलोड होने में लगने वाला समय कम हो जाएगा या कम हो जाएगा.

इस्तेमाल के कुछ और उदाहरण भी फ़ायदेमंद हैं. सर्विस वर्कर न होने पर, आपके पास Cache इंस्टेंस से इंटरैक्ट करने का विकल्प होता है. इसलिए, यह ज़रूरी नहीं है कि इन सभी इंस्टेंस को इंस्टॉल करने की ज़रूरत पड़े.