2011-08-27 18 views
14

मैं एक ऑफ़लाइन वेब एप्लिकेशन बना रहा हूं और कैश-मैनिफेस्ट का उपयोग करना चाहता हूं। वर्तमान में अपने कैश-प्रकट इस तरह दिखता है:क्या कैश-मैनिफेस्ट में बाहरी फाइलों को शामिल करना ठीक है?

CACHE MANIFEST 
# Change the version number below each time we update a resource. 
# Rev 1 
index.html 
photo.html 
js/photo.js 
css/photo.css 
http://code.jquery.com/jquery-1.6.1.min.js 
http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js 
http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css 
http://maps.google.com/maps/api/js?sensor=false&region=GB 

तो ऐसा कोई कारण नहीं बाहरी, CDN के द्वारा होस्ट किए गए jQuery, jQuery मोबाइल और गूगल मैप्स कैश-प्रकट में फ़ाइलों को शामिल करने के लिए है?

मैं एक के बारे में सोच नहीं सकते हैं, लेकिन मैंने सोचा था कि मैं अपने आप को उन से समझदार पूछना होगा :)

+0

मुझे नहीं लगता कि इस सवाल का जवाब सही है। http://stackoverflow.com/questions/10795268/can-i-use-html5-cache-manifest-to-: कृपया [इतने पर यह अन्य प्रश्न] [1] [1] को देखने के स्टोर-थर्ड-पार्टी-जेएस – user1632306

+1

कृपया उत्तर दोबारा जांचें; मुझे संदेह है कि स्वीकृत उत्तर गलत है और इससे बहुत भ्रम पैदा हुआ। मैंने स्रोतों के साथ एक अलग उत्तर प्रदान किया है। –

+0

कृपया वैध उत्तर – davidtaubmann

उत्तर

-6

तुम नहीं कर सकते। कैश मैनिफेस्ट केवल उसी डोमेन से फ़ाइलों के लिए काम करेगा। यदि आप क्रॉस-डोमेन संसाधनों के लिए श्वेत-सूची चाहते हैं तो आपको अपने डोमेन से प्रॉक्सी करना होगा।

+0

आह पुनः जांचें। तब यह एक अच्छा कारण होगा। धन्यवाद। – Richard

+5

यह उत्तर ** छवियों के लिए कम से कम ** शामिल है, लेकिन शायद स्क्रिप्ट के लिए भी (कृपया स्रोतों के लिए मेरा उत्तर देखें)। कृपया फिर से जांचें और या तो कोई स्रोत प्रदान करें या उत्तर को हटाएं/सही करें, क्योंकि यह Google खोजों में आता है और यह बहुत भ्रमित है। –

+0

वास्तव में, यह गलत है (क्रोम) – markmarijnissen

19

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

छवियों संचित किया जाएगा (कम से कम फ़ायरफ़ॉक्स द्वारा, क्रोम का परीक्षण नहीं किया है)।

spec स्पष्ट रूप से कहते हैं:

ऑफलाइन आवेदन कैश प्रकट होता है पूर्ण पथ या यहाँ तक कि संपूर्ण URL के

http://manifest-validator.com/ के रूप में भी ठीक बाहरी URL के साथ एक प्रकट की रिपोर्ट का उपयोग कर सकते हैं।

मुझे 100% यकीन नहीं है कि यह स्क्रिप्ट पर भी लागू होता है, लेकिन फ़ायरफ़ॉक्स के साथ एक त्वरित परीक्षण की तरह स्क्रिप्ट को अपेक्षित रूप से कैश किया जाता है।

2

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

यह व्यवहार एप्पल के दस्तावेज में वर्णन किया गया है नहीं, लेकिन अभी भी आईओएस 10.2 में स्पष्ट है: https://developer.apple.com/library/content/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html

+0

[डब्ल्यू 3 चश्मा] (https://www.w3.org/TR/2011/WD-html5-20110525/offline।एचटीएमएल # लेखन-कैश-मैनिफ़ेस्ट): यदि मैनिफेस्ट https है, तो सभी यूआरएल में मैनिफेस्ट के समान मूल होना चाहिए – mu3