ऐसा लगता है कि एक बार आपके पास एक मैनिफेस्ट एंट्री है, एक ला:एक बार जब एक HTML दस्तावेज़ में एक मैनिफेस्ट (कैश.मैनिफेस्ट) हो, तो आप इसे कैसे हटा सकते हैं?
<html manifest="cache.manifest">
फिर वह पृष्ठ (कैश में मास्टर एंट्री) हमेशा कैश किया जाएगा (कम से कम सफारी द्वारा) जब तक उपयोगकर्ता कुछ हटाने के लिए कुछ नहीं करता कैश, भले ही आप बाद में एचटीएमएल टैग से मैनिफेस्ट एट्रिब्यूट को हटा दें और मैनिफेस्ट अपडेट करें (इसमें कुछ बदलकर), मास्टर एंट्री को अन्य सभी चीज़ों के साथ पुनः लोड करने के लिए मजबूर कर दें।
दूसरे शब्दों में, यदि आपके पास है:
- index.html (मैनिफेस्ट परिभाषित के साथ)
- file1.js (प्रकट में संदर्भित)
- file2.js (प्रकट में संदर्भित)
- cache.manifest (दो जेएस फ़ाइलों को सूचीबद्ध करता है)
- index.html से मैनिफेस्ट प्रविष्टि को हटा रहा है और मैनिफेस्ट को संशोधित कर रहा है (इसलिए यह ब्राउज़र द्वारा समाप्त हो जाता है और सभी सामग्री पुनः लोड हो जाती है) इस पृष्ठ को नहीं रोकेगी व्यवहार करने से जैसे कि यह अभी भी पूरी तरह से कैश किया गया है। यदि आप index.html पर स्रोत देखते हैं तो आपको अब सूचीबद्ध मैनिफेस्ट दिखाई नहीं देगा, लेकिन ब्राउज़र अभी भी केवल cache.manifest फ़ाइल का अनुरोध करेगा, और जब तक कि उस फ़ाइल की सामग्री बदली न जाए, तब तक किसी भी फाइल में कोई अन्य बदलाव नहीं दिखाया जाएगा उपयोगकर्ता।
यह एक सुंदर चमकदार बग की तरह लगता है, और यह आईओएस के साथ-साथ सफारी के मैक संस्करणों पर भी मौजूद है। क्या किसी को पृष्ठ को रीसेट करने और उपयोगकर्ता हस्तक्षेप की आवश्यकता के बिना कैश से छुटकारा पाने का कोई तरीका मिला है?
404 लौटने से क्रोम में कैश समूह को अनलोड करना प्रतीत होता है। इस पर शोध करने के लिए धन्यवाद! मैंने एक खाली कैश मैनिफेस्ट लौटने की कोशिश की, और यह कैश किए गए संसाधनों को अनलोड नहीं करता है। –
मैं इस काम की पुष्टि कर सकता हूं। परिणाम देखने के लिए आपको अपने पृष्ठ को दो बार पुनः लोड करना होगा। – Soska