2011-04-13 13 views
9

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

इस तरह मेरे प्रकट दिखता है:

CACHE MANIFEST 
# Cache manifest version 0.0.5 

http://www.mywebsite.com/appfolder/app/detail.html 
http://www.mywebsite.com/appfolder/app/index.html 
http://www.mywebsite.com/appfolder/app/list.html 
http://www.mywebsite.com/appfolder/css/style.css 
http://www.mywebsite.com/appfolder/src/iscroll.js 
http://www.mywebsite.com/appfolder/js/jquery-1.5.1.min.js 
http://www.mywebsite.com/appfolder/thumbs/1872A.jpg 
http://www.mywebsite.com/appfolder/thumbs/1913.jpg 
http://www.mywebsite.com/appfolder/thumbs/1916.jpg 
http://www.mywebsite.com/appfolder/thumbs/1925.jpg 
http://www.mywebsite.com/appfolder/carsimages/1872A_1.jpg 
http://www.mywebsite.com/appfolder/carsimages/1872A_2.jpg 

NETWORK: 

# All URLs that start with the following lines 
# are whitelisted. 

CACHE: 

# Additional items to cache. 

FALLBACK: 

एप्लिकेशन जबकि चिकनी चलाता है ऑनलाइन, लेकिन एक बार मैं ऑफ़लाइन जाने मैं इन त्रुटि संदेश: "क्योंकि यह इंटरनेट से जुड़ा हुआ नहीं है Myappname खोला नहीं जा सका" (है कि एक ही iPad पर सफारी-ध्यान में रखते हुए) और "क्योंकि यह इंटरनेट से जुड़ा हुआ नहीं है सफारी पेज नहीं खोल सकता"

कदम मैं पहले से ही ले लिया (में एक iPad पर -View "होमस्क्रीन पर कहा,"): सुनिश्चित करें कि मैनिफेस्ट को जोड़कर सही सामग्री प्रकार द्वारा सेवा मिली है यह मेरी .htaccess फ़ाइल

AddType text/cache-manifest .manifest 

कोई विचार क्यों यह काम नहीं करता है?

+0

क्या किसी ने ऑफ़लाइन मोड कैश और होम स्क्रीन HTML5 वेबएप को v4.3 में एक निश्चित उत्तर देखा है? मैंने इस धागे में सभी उपचारों की कोशिश की है और कोई किस्मत नहीं है। क्या यह टूट गया है या क्या कोई कामकाज है? –

+0

जेफ, मैंने जो किया है उसे आजमाएं: http://stackoverflow.com/questions/5645798/html5-cache-manifest-in-an-added-to-homescreen- मोबाइल-webapp-doesnt-seem-to-wo/7022283# 7022283 – Muxa

+0

क्या आपको यह काम मिल गया? क्या मैं पूछ सकता हूं कि जैसे ही उपयोगकर्ता एक लिंक पर क्लिक करता है, आपने सफारी खोलने से अपने होम स्क्रीन ऐप को कैसे रोक दिया? – Steve

उत्तर

1

यदि आप किसी ऑनलाइन संसाधन से कनेक्ट हैं, तो मैं नेटवर्क संसाधन में उस संसाधन के यूआरएल को देखने की उम्मीद करता हूं। एप्लिकेशन द्वारा उपयोग किए गए प्रत्येक यूआरएल को स्पष्ट रूप से या स्पष्ट रूप से मैनिफेस्ट में सूचीबद्ध करने की आवश्यकता है।

जोड़ने का प्रयास करें:

NETWORK: 
* 

संकेत देने के लिए कि किसी भी यूआरएल संभावित ऑनलाइन जबकि पहुँचा जा सकता है।

+0

क्या इसका मतलब यह नहीं होगा कि ऑफ़लाइन पहुंच योग्य नहीं है? –

+0

केवल अगर कैच अनुभाग के तहत कुछ भी नहीं है। – Muxa

-3

मैं समझता हूँ कि iOS 4.3 एचटीएमएल 5 "ऑफ़लाइन वेब अनुप्रयोग" समारोह टूट गया है:

http://www.theregister.co.uk/2011/03/15/apple_ios_throttles_web_apps_on_home_screen/

इतना ही नहीं, इस तरह के "होम स्क्रीन वेब ऐप्लिकेशन" विभिन्न वेब कैशिंग उपयोग नहीं कर सकते एचटीएमएल 5 एप्लीकेशन कैश समेत सिस्टम, जिसका अर्थ है कि उन्हें ऑफलाइन चलाने के लिए कैश नहीं किया जा सकता है।

यह भी देखें: Offline iOS web app: loads my manifest, but doesn't work offline

+1

वह आलेख गलत जानकारी से भरा है। ऑफ़लाइन कैश सभी आईओएस संस्करणों में पूर्णस्क्रीन मोड में ठीक काम करता है - मेरा ऐप इसका उपयोग करता है। –

0

मैं लिज़ डैली के जवाब के बारे में उत्सुक हूँ। मैं एक आईपैड का उपयोग कर रहा हूं जिसे मैं अभी (अफसोसपूर्वक) आईओएस 4.2 से आईओएस 4.3 में अपडेट किया गया है। मेरे पास एक HTML5 ऑफ़लाइन ऐप काम कर रहा था जो इंटरनेट कनेक्शन की आवश्यकता के बिना होम स्क्रीन से चलाया जा सकता है और स्थानीय स्टोरेज स्टोर में राज्य को सहेजने में सक्षम हो सकता है।

आईपैड 4.3 में अपना आईपैड अपडेट करने के बाद, यह ऐप अब होम स्क्रीन से शुरू होने पर पेज को फिर से लोड करने के लिए इंटरनेट कनेक्शन के बिना काम नहीं करता है, और जब भी मैं बंद करता हूं तो स्थानीय स्टोरेज मिटा दिया जाता है आईपैड

तो, मुझे अपने आईपैड पर आईओएस 4.3 पर अपना ऑफ़लाइन ऐप चलाने के लिए सफारी के साथ वास्तविक समस्याएं हैं और ऐप्पल से कोई खबर नहीं है जब वे इस समस्या को ठीक करने जा रहे हैं (कम से कम इसे उसी कार्यक्षमता पर पुनर्स्थापित करें आईओएस 4.2 में)।

0

मेरी पिछली पोस्ट में अपडेट करें। अब मैं अपने आईपैड पर अपना एचटीएमएल 5 ऑफ़लाइन ऐप चला सकता हूं। सबसे पहले मुझे विश्वास है कि आपको आईपैड को कम से कम 4.3.2 में अपडेट करने की आवश्यकता होगी (पुष्टिकृत लेकिन मैं अब 4.3.3 का उपयोग कर रहा हूं)। और सबसे महत्वपूर्ण बात यह है कि कैश मेनिफेस्ट फ़ाइल को "cache.manifest" के रूप में नामित किया जाना चाहिए।मेरे प्रयोगों में, यदि आप किसी अन्य नाम का उपयोग करते हैं, तो यह ऑफ़लाइन नहीं चलाएगा। मेरे पास ऑफ़लाइन पूर्ण स्क्रीन मोड में ऑफ़लाइन चल रहा है (यानी "सेब-मोबाइल-वेब-ऐप-सक्षम" को "हां" पर सेट करें) और यह होम स्क्रीन से एयरलाइन मोड में चलाएगा।

तो लिज़ डेली आंशिक रूप से सही है। ऑफ़लाइन मोड केवल उपर्युक्त बाधाओं के तहत ही काम करता है।

+0

मेरे एप्लिकेशन की कैश फ़ाइल को cache.manifest नाम नहीं दिया गया है। –

+0

मैनिफेस्ट कैश.मैनिफेस्ट को कॉल करने से मेरी मदद नहीं हुई। मैं सब कुछ ठीक से कर रहा हूं, जहां तक ​​मुझे पता है, जिसमें माइम-प्रकार सेट करना शामिल है। –

+0

मेरे पास 4.3.2 के साथ आईपैड है, वही समस्याएं थीं। यहां मेरे लिए क्या काम किया गया है: http://stackoverflow.com/questions/5645798/html5-cache-manifest-in-an-added-to-homescreen- मोबाइल-webapp-doesnt-seem-to-wo/7022283#7022283 – Muxa

14

आईपैड के लिए, कैश मेनिफेस्ट फ़ाइल को "cache.manifest" के रूप में नामित किया जाना चाहिए। यह मेरे लिए मुद्दा तय किया।

+1

+1 मुझे यह भी आश्चर्य हुआ कि यह मेरे लिए भी काम करता है, मैंने सत्यापित किया था कि आईपैड मेरा मैनिफेस्ट ला रहा था, और उस पर अभिनय कर रहा था (मैंने कुछ फाइलें जो मेरे ऐप को वास्तव में संदर्भित नहीं किया था, और वे सर्वर लॉग में दिखाई दिए)। –

+0

ठीक है, मुझे यह विशिष्ट नाम सेट किए बिना अब कई परियोजनाओं पर काम कर रहा है। मैं यह पता लगाने की कोशिश करूंगा कि इस विशिष्ट परियोजना में क्या गलत था। –

0

मुझे आईपैड पर एक ही समस्या थी। यह पता चला है कि यह किसी फ़ोल्डर में कैश मैनिफेस्ट फ़ाइलों को पसंद नहीं करता है। मेरे पास /Content/cache.manifest था और यह काम नहीं करता था (ऑफ़लाइन होने पर ऐप होम स्क्रीन से लोड नहीं होगा)। जब मैंने मैनिफेस्ट फ़ाइल को ऐप रूट में ले जाया और cache.manifest पर मैनिफेस्ट संदर्भ बदल दिया, तो यह काम करना शुरू कर दिया।

(यह नहीं है cache.manifest के नाम से जाना - मैं इसे CacheManifest.ashx के साथ काम किया है)

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