का उपयोग कर पूरी फाइलों को सहेजें मैं मुख्य रूप से मोबाइल उपकरणों (यानी बैंडविड्थ प्रतिबंध) पर उपयोग किए जाने वाले वेब ऐप में कुछ जेएस और सीएसएस फ़ाइलों को 'कैश' करने के लिए localStorage
का उपयोग करना चाहता हूं। एक छोटा सा setup.js
युक्त कोड कि localStorage
की जाँच करता है देखने के लिए अगर bigScriptFile.js
पहले से संग्रहीत किया गया है साथस्थानीय स्टोरेज
- पृष्ठ लोड: मैं यह कुछ इस तरह काम करेगा सोच रहा हूँ।
- यदि यह संग्रहीत नहीं है, तो
bigScriptFile.js
अगली विज़िट के लिए डाउनलोड और संग्रहीत किया जाता है। - यदि यह संग्रहीत किया गया है, तो
bigScriptFiles.js
localStorage
से पढ़ सकते हैं और भरी हुई है/चलाने के रूप में अगर यह एक सामान्य फ़ाइल की तरह डाउनलोड किया गया था (यानी,<script src="http://example.com/bigScriptFile.js"></script>
)
- यदि यह संग्रहीत नहीं है, तो
क्या मुझे यकीन है कि कैसे करने के लिए नहीं कर रहा हूँ चरण 1.1 है - जेएस फ़ाइल संग्रहित। (मुझे लगता है मैं localStorage
में केवल दुकान तार और मुझे पता है कि कर सकते हैं कि JSON.stringify()
उपयोग करने के लिए कैसे पता है।)
निश्चित रूप से यह बच() का उपयोग कर के रूप में सरल नहीं है:
localStorage.setItem('bigScriptFile', escape('myJScode'))
स्टोर करने के लिए, और
unescape(localStorage.getItem['bigScriptFile'])
जब
भले ही यह आसान है, मैं स्ट्रिंग के रूप में bigScriptFile.js की सामग्री प्राप्त करने के लिए जेएस का उपयोग कैसे करूं? शायद एक PHP स्क्रिप्ट पर AJAX कॉल करके सामग्री को वापस कर देता है?
क्या करने का इरादा है, तो मैं इसे सही ढंग से समझ, प्रकट केवल ब्राउज़र कैश में फ़ाइलों को नियंत्रित करता है के लिए काम कर सकते हैं देखा है। यदि कैश साफ़ हो जाता है, तो फ़ाइलों को फिर से लोड किया जाना चाहिए। चूंकि यह ऐप प्राथमिक रूप से आईओएस उपकरणों पर चलने का इरादा रखता है, जहां अन्य चीजों के साथ, सफारी में खोले गए पृष्ठों को कभी-कभी स्मृति को पुनः प्राप्त करने के लिए फ़्लश किया जाता है, मैं कुछ और स्थायी खोज रहा हूं। मुझे इसका एहसास है कि मुझे यह जांचने के लिए एक तरीका चाहिए कि 'लोकल स्टोरेज' संस्करण पुराना है (और यदि ऐसा है, तो जानबूझकर नए संस्करण को डाउनलोड और स्टोर करें) लेकिन यह बहुत कठिन नहीं होना चाहिए। मैं एक पूरी जेएस फ़ाइल को एक स्ट्रिंग – craigpatik
के रूप में विश्वसनीय स्टोर करने के तरीके से अधिक चिंतित हूं, नहीं, कैश मेनिफेस्ट में फ़ाइलों को ऑफ़लाइन/बाद के उपयोग के लिए संग्रहीत किया जाता है। आप ब्राउज़र को बंद कर सकते हैं और एकमात्र फ़ाइल जिसे पुनः लोड किया जा रहा है वह कैश मेनिफेस्ट फ़ाइल है। मैं अधिकार सुरक्षित रखता हूं कि मुझे नहीं पता कि सफारी में आईओएस –
पर कैश मैनिफेस्ट कैसे किया जाता है, कैश मैनिफेस्ट ऑफ़लाइन वेबैप के लिए है - अगर मैनिफेस्ट बदल जाता है तो ब्राउजर को सभी संसाधनों को प्रमाणित करना होगा। जब तक आपका मेनिफेस्ट नहीं बदला जाता है, तब तक फाइलें जिंदा रहेंगी, और जब ब्राउज़र इंटरनेट से कनेक्ट नहीं हो सकता है तो आपकी साइट भी काम करेगी। – olliej