2011-01-07 18 views
6

के साथ एचटीएमएल 5 एप कैश का उपयोग करें मैं एचटीएमएल 5 एप कैश फीचर का प्रयोग कर रहा हूं क्योंकि हमारा वेब ऐप बहुत सारे छवि संसाधनों का उपयोग करता है। इसके अलावा अधिकांश पेज स्थिर नहीं हैं, लेकिन Django पर आधारित गतिशील पृष्ठ हैं।Django गतिशील पृष्ठ

समस्या यह है कि जब किसी पृष्ठ के लिए ऐप कैश का उपयोग किया जाता है (एक रीस्टफुल यूआरएल की तरह), तो यह स्वचालित रूप से इस पृष्ठ को डाउनलोड कर देगा, लेकिन ऐसा लगता है कि इस पृष्ठ पर सामग्री अपडेट होने पर इस पृष्ठ को अमान्य करने का कोई तरीका नहीं है सर्वर पक्ष पर मैनिफेस्ट फ़ाइल को बदले बिना।

मेरा सवाल है, क्या इसका मतलब है कि मैं किसी भी गतिशील पृष्ठों पर एपैच का उपयोग नहीं कर सकता? यदि नहीं, तो मैं यह कैसे करूँ?

उत्तर

1

एचटीएमएल 5 में मैनिफेस्ट फाइलों का उद्देश्य गतिशील रूप से बदलते संसाधनों को संभालने का इरादा नहीं है। इसका उद्देश्य सामान्य और निरंतर संपत्तियों का उपयोग अनुप्रयोग-व्यापी है: सीएसएस, जावास्क्रिप्ट, और इंटरफ़ेस तत्वों (आइकन, बटन, लोगो, पृष्ठभूमि इत्यादि) जैसी चीजें जो एप्लिकेशन के स्वरूप और अनुभव को बनाती हैं (भले ही वर्तमान में उपयोग न हो राय)। इससे आम संपत्तियों को प्रीफेच और कैश किया जा सकता है, ताकि प्रत्येक दृश्य को केवल अपनी व्यक्तिगत सामग्री लोड करनी पड़े।

1

मुझे लगता है कि हम एक ऐसी ही समस्या है:

My HTML5 Application Cache Manifest is caching everything

मैं परम उत्तर नहीं मिला, लेकिन मैं क्या सीखा है से ऐसा लगता है कि प्रकट हर पृष्ठ पर सेट किया जा कराना नहीं है, । फिर मुझे यकीन नहीं है लेकिन यह एक हैक है कि मैं पार आया। मैं इस तरह के manifest.html है कि

<html manifest="manifest.appcache"> 

मुझे पता चला कि पृष्ठों जो इस की जरूरत नहीं है कैश के लिए जोड़ा जा नहीं होगा लेकिन वे अभी भी एप्लिकेशन को कैश करता है, तो एक ही डोमेन पर उपयोग जारी रहेगा के रूप में एक पृष्ठ है।

Adding master entry to Application Cache with manifest 

लेकिन अगर आप टैब नेटवर्क जाना आपको लगता है कि देखेंगे: Therfore अगर आप manifest.html एक सादे html पृष्ठ everypage पर किसी iframe में यह है कि शामिल हैं यह क्रोम अब उत्पादन होगा जैसे कि पेज को कैश नहीं होंगे <iframe id='manifest_iframe_hack' style='display: none;' src='temporary_manifest_hack.html'>

temporary_manifest_hack.html की सामग्री:

<!DOCTYPE HTML> 
<html lang="en" id="sexxymofo" class="no-js" manifest="manifest.appcache"> 
    <head> 
     <meta charset="utf-8"> 
     <title>Hack 4 Manifest</title> 
    </head> 
    <body></body> 
</html> 
0 यह कैश

तो मूल रूप से करने के बजाय मेनिफ़ेस्ट विशेषता HTML टैग पर शरीर की शुरुआत में इस डाल उपयोग कर रहा है अब

के बाद से आप अपनी समस्या निर्दिष्ट नहीं किया है विशेष रूप से मैं कर रहा हूँ चिंतित आप, एक वैध प्रकट साथ कोई समस्या है वहाँ प्रकट करने में कोई वाइल्डकार्ड है को ध्यान में रखना, मान्य करने के लिए इस यूआरएल का उपयोग हो सकता है: http://manifest-validator.com/validate

सबसे सरल त्रुटि का कारण होगा प्रकट अमान्य घोषित किया है और कोई appcache इस्तेमाल किया जाएगा, सांत्वना के रूप में डीबगिंग के लिए क्रोम का उपयोग प्रक्रिया के प्रत्येक चरण प्रवेश करेंगे, यह भी क्रोम में इस यूआरएल देखें: chrome://appcache-internals/

फिर पर एक नज़र

और जानने के लिए ऊपर दिए गए उत्तर में मेरा प्रश्न 10
संबंधित मुद्दे