2013-01-24 10 views
6

डिज़ाइन द्वारा एचटीएमएल 5 ऑफ़लाइन समर्थन (ऐप कैश) काम करता है यदि क्लाइंट डिवाइस ऑफलाइन है या क्लाइंट डिवाइस ऑनलाइन है और सर्वर पहुंच योग्य है। इसके बाद मैंने एप्लिकेशन को कैश किया और ब्राउजर में इसे फिर से खोल दिया (इसे रीफ्रेश करने के लिए) जब डिवाइस में इंटरनेट एक्सेस नहीं होता है तो ब्राउज़र ऐप कैश से एप्लिकेशन लोड करता है। इस मामले में ब्राउज़र एप कैश मैनिफेस्ट लाने के लिए को आजमा नहीं है (यह समझता है कि हम ऑफ़लाइन हैं)।एचटीएमएल 5 ऐप कैश: सर्वर पहुंच योग्य नहीं है, तो ऑफ़लाइन मोड को कार्यान्वित करने के लिए कैसे करें लेकिन नेटवर्क पहुंच योग्य है

लेकिन चलो एक डिवाइस पर विचार करें जब मेरा डिवाइस ऑफ़लाइन नहीं है। इसमें अभी भी इंटरनेट कनेक्शन है। लेकिन मेरा सर्वर नीचे है। इसके लिए कई अलग-अलग कारण हो सकते हैं (हार्डवेयर विफलता, ऐपपूल रुक गया, आईआईएस थ्रॉटलिंग, डीएनएस त्रुटि और इसी तरह)। इस मामले में जब मैं ब्राउज़र में एक कैश किए गए एप्लिकेशन को खोलता हूं तो यह एपैच मैनिफेस्ट लाने की कोशिश करेगा और 404 त्रुटि प्राप्त नहीं करेगा (नहीं मिला)। और उसके बाद ब्राउज़र ऐप के लिए ऐप कैश साफ़ करता है! तो अगले भाग पर यह इसे ऐप कैश से लोड नहीं करेगा और 404 त्रुटि "पेज" दिखाएगा। ऑफ़लाइन काम नहीं।

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

तो मेरा सवाल है: क्या कोई डिवाइस डिवाइस ऑनलाइन होने पर एप्लिकेशन को काम करने का कोई तरीका जानता है लेकिन इसका सर्वर पहुंच योग्य नहीं है?
आदर्श रूप से मुझे window.applicationCache की त्रुटि ईवेंट को पकड़ने में सक्षम होना चाहिए और इसे बताएं "ठीक है, कृपया कैश का उपयोग करने के लिए निरंतर करें, इसे अप्रचलित न करें"।

+0

क्या ब्राउज़र, मैं सिर्फ क्रोम में ऐसा किया और अपने कैश प्रकट अभी भी वहाँ है। सर्वर बंद करें लेकिन ऑनलाइन रहे, त्रुटि मिली: एप्लिकेशन कैश त्रुटि घटना: मैनिफेस्ट फ़ेच विफल (-1) लेकिन क्रोम ने मेरा मूल मैनिफेस्ट नहीं हटाया। – mattdlockyer

+1

मैं क्रोम 24 का उपयोग कर रहा हूं। मेरे पास पिछले फ़ायरफ़ॉक्स में एक ही व्यवहार है। जब आप अपना सर्वर बंद करते हैं तो आपका ब्राउज़र क्या http स्थिति प्राप्त कर रहा है? मेरा 404 हो जाता है, मैं इसे फिडलर में देखता हूं। ब्राउज़र के कंसोल में मैं निम्नलिखित देखता हूं: दस्तावेज़ को कैश से प्रकट किया गया था जिसमें प्रकट होता है http: //localhost/ajax/manifest.appcache एप्लिकेशन कैश चेकिंग ईवेंट एप्लिकेशन कैश अप्रचलित ईवेंट – Shrike

+1

इस बारे में कोई समाचार? मुझे अभी एक ही समस्या का सामना करना पड़ रहा है। – Roland

उत्तर

0

यह application-cache specification प्रति संभव नहीं है:

Otherwise, if fetching the manifest fails in some other way (e.g. the server returns another 4xx or 5xx response or equivalent, or there is a DNS error, or the connection times out, or the user cancels the download, or the parser for manifests fails when checking the magic signature), or if the server returned a redirect, or if the resource is labeled with a MIME type other than text/cache-manifest, then run the cache failure steps.

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