2011-01-31 36 views
11

एचटीएमएल 5 की क्षमता का उपयोग करते समय यह निर्दिष्ट करने के लिए कि फाइलें कैश की गई हैं (manifest.cache फ़ाइल में), पूरी निर्देशिका को निर्दिष्ट कर रहे हैं? क्या मैं CACHE: अनुभाग के तहत अपनी छवि निर्देशिका में पथ डाल सकता हूं और इसे उस निर्देशिका में सभी फ़ाइलों पर लागू कर सकता हूं, या क्या मुझे कैश किए जाने के लिए छवि फ़ाइलों को स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता है?क्या नई HTML5 manifest.cache फ़ाइल में निर्देशिकाओं के पथ हो सकते हैं?

दूसरे शब्दों में, क्या यह संभव है?

CACHE MANIFEST 

... 

CACHE: 
images/ 

... या शायद यह?

CACHE MANIFEST 

... 

CACHE: 
images/* 

... या मैं यह करने की क्या ज़रूरत है:

CACHE MANIFEST 

... 

CACHE: 
images/logo.png 
images/image01.jpg 
images/image02.jpg 
images/image03.jpg 
... (etc) 
+0

दूसरा काम करता है जो मुझे विश्वास है। आगे के उदाहरणों के लिए [एप्लिकेशन कैश के साथ ऑफ़लाइन जाएं] पर एक नज़र डालें [http://html5doctor.com/go-offline-with-application-cache/)। –

उत्तर

15

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

NETWORK: 
* 

जो करता है, तो पहले से ही (के रूप में सामान्य प्रति) डाउनलोड नहीं जब आप ऑनलाइन ब्राउज़ कर रहे हैं डाउनलोड किया जा करने के लिए किसी भी आवश्यक फ़ाइलें अनुमति देता है।

FALLBACK: 
//offline.html 

कि थोड़े एक वाइल्डकार्ड की तरह काम करता है:
वहाँ भी निवर्तन खंड के "पेज पथ पैटर्न" है। प्रारंभिक/आपकी साइट पर प्रत्येक पृष्ठ के पथ से मेल खाता है, इसलिए कैश में नहीं मिला कोई भी पृष्ठ /offline.html को प्रतिस्थापन फ़ॉलबैक के रूप में उपयोग करेगा। (दो स्लेश के बीच की जगह पर ध्यान दें।)

1

मुझे लगता है कि आप एक PHP फ़ाइल की मदद से .manifest (या .cache उदाहरण में) फ़ाइल बनाकर 'वाइल्डकार्ड' प्राप्त कर सकते हैं। इस तरह आप PHP को प्रत्येक फ़ाइल नाम echo'ing में निर्देशिका स्कैन करके फ़ाइल नामों को बनाए रखने की परेशानी को संभालने दे सकते हैं। शायद वास्तव में PHP को आपके सर्वर पर एक .manifest फ़ाइल डालने दें, अन्यथा ऑफ़लाइन ऐप सोच सकता है कि मैनिफेस्ट फ़ाइल अपडेट हो गई है और कैश को लगातार रीफ्रेश किया गया है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^