2011-06-07 12 views
27

मैं एचटीएमएल 5 मैनिफेस्ट का उपयोग कर आईओएस पर ऑफ़लाइन काम करने के लिए कुछ वेब ऐप्स प्राप्त करने में बहुत सारे काम कर रहा हूं। मैंने हर किसी की सामान्य समस्याओं में भाग लिया है और उन्हें ठीक कर दिया है और सब कुछ ठीक काम कर रहा है-सिवाय इसके कि जहां मैं अपने आईफोन 4 पर डेस्कटॉप पर वेब ऐप को सहेजता हूं।आईओएस: क्या ऐप्पल होम स्क्रीन पर सहेजे गए वेब ऐप्स के लिए एचटीएमएल 5 ऑफ़लाइन क्षमता अक्षम करता है?

यदि मैं ऐसा करता हूं और फिर हवाई जहाज मोड सक्षम करें, मुझे होम स्क्रीन के माध्यम से ऐप तक पहुंचने का प्रयास करते समय निम्न चेतावनी मिलती है: "आपका ऐप-नाम खोला नहीं जा सका क्योंकि यह इंटरनेट से कनेक्ट नहीं है।" सफारी ब्राउज़र के माध्यम से ऐप एक्सेस करना ऑफ़लाइन होने पर ठीक काम करता है।

अगर कोई जानता है कि अगर यह मेरी ओर से एक त्रुटि, या यहाँ तक के चारों ओर एक काम की पतली संभावना है, बताऊँ।

यहां तक ​​कि एक त्रुटि में नए फाइनेंशियल टाइम्स वेब एप्लिकेशन (बहुत अच्छी तरह से व्यापक localStorage समर्थन के साथ किया) परिणामों को डाउनलोड होम स्क्रीन से ऑफ़लाइन उस तक पहुंचने में।

तकनीकी ऐनक: आईओएस 4.3.3 के साथ iPhone 4 चल रहा है

+0

@Nick: निश्चित रूप से एक साजिश :) –

+1

@Mauvis Ledford मैं सिर्फ http://sixrevisions.com/web-development/html5-iphone-app/ जांच की है और ऐसा नहीं कोड इस तरह देखा मेरे आईफोन 4 आईओएस 4.3.1 पर काम नहीं करता हूं। मुझे लगता है कि ऐप्पल ने इसे तोड़ दिया, इससे पहले काम किया है। –

+2

@ मॉविस लेडफोर्ड मुझे आगे डीबग करने में बहुत दिलचस्पी होगी, क्योंकि हमें एफटी ऐप की कुछ रिपोर्ट ऑफ़लाइन काम नहीं कर रही हैं। यहां टेस्ट (आईपैड 4.2 और 4.3.3 और आईफोन 4.3.3 पर) ऐप को होमस्क्रीन या डॉक पर ऑफ़लाइन काम करने वाला दिखाता है; मैंने ऑफ़लाइन आगे बढ़ने की कोशिश की और फिर इसे स्क्रीन से डॉक तक ले जाया, फिर भी काम करता है! निश्चित रूप से कहीं भी प्रकट होने वाले वूडू का थोड़ा सा हिस्सा है, लेकिन मैं इस अंतिम * कुछ * को पिन नहीं कर सकता ... (एफडब्ल्यूआईडब्ल्यू, ऐसा लगता है कि कैश और डेटाबेस साफ़ करना, फिर डिवाइस को पुनरारंभ करना, अगर वहां काम करने में लग रहा है त्रुटियां हैं)। – Rowan

उत्तर

15

(लेकिन यह भी 4.3.2 में इस मुद्दे को देखा था) टिप्पणियों को पढ़ने के बाद (विशेष रूप से रोवन के) मैं और अधिक परीक्षण भाग गया और जवाब मिला:

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

ये कदम उठाएँ है:

  1. बंद वेब एप्लिकेशन (इसकी पृष्ठभूमि में चारों ओर चिपके हुए नहीं सुनिश्चित कर लें)।
  2. साफ कर दिया गया मोबाइल सफारी कैश: सेटिंग> सफारी> कैश साफ़
  3. एप्लिकेशन (कैशिंग के लिए) पुनः खोला गया।
  4. फिर से वेब ऐप बंद करें (सुनिश्चित करें कि यह पृष्ठभूमि में चारों ओर चिपक नहीं रहा है)।
  5. सक्षम "हवाई जहाज मोड": सेटिंग्स> हवाई जहाज मोड
  6. ऐप को फिर से खोल दिया गया।

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

+0

मैं कल इसे आजमाउंगा, और उत्तर के लिए धन्यवाद। –

+2

इस मोर्चे पर एक छोटी सी अतिरिक्त चेतावनी: हालांकि यह संभवतः होमस्क्रीन के लिए स्थितियों में सुधार करता है, कैश साफ़ करने से मोबाइलसाफरी के भीतर * ब्रेक * मैनिफेस्ट उपयोग होगा। कैश को साफ़ करने के बाद, मोबाइलसाफरी * जब तक मोबाइलसाफरी को पुनरारंभ नहीं किया जाता है तब तक प्रकट स्वैप मोबाइलस्फीरी * में अनिर्दिष्ट त्रुटियों के साथ विफल हो जाएंगे। संभवतः यह होमस्क्रीन ऐप्स को प्रभावित नहीं करता है क्योंकि वे हर बार पुनरारंभ होते हैं ... (भविष्य के रिलीज के बीटा का उपयोग करने वाले लोग इस विशेष बग को हल कर सकते हैं ...) – Rowan

+0

मैं सिर्फ यह पुष्टि करना चाहता था कि उन चरणों के बाद भी मेरे आईफोन पर इस मुद्दे को हल करने में मदद मिली। एक ही वेब ऐप जिसे मैंने विकसित किया था, आईपैड पर "एयरप्लेन मोड" में ठीक काम कर रहा था, लेकिन आईफोन शिकायत कर रहा था "वेब-ऐप-नाम खोला नहीं जा सका क्योंकि यह इंटरनेट से कनेक्ट नहीं है।" ऊपर दिए गए चरणों के साथ मोबाइल सफारी कैश साफ़ करने के बाद, वेब ऐप अब मेरे आईफोन पर काम कर रहा है। –

2

अपने html से जोड़ें:

http://jonathanstark.com/blog/2009/09/27/debugging-html-5-offline-application-cache/

मैं इसे बड़े पैमाने पर उपयोगी पाया है - भले ही मैं दूसरे लोगों के प्रकट करने के लिए मेरे मैनिफ़ेस्ट फ़ाइल बनाया है और यह तुलना में किया है इस JavaScript डीबगिंग स्क्रिप्ट मुझे सुराग दे दी है मैं अन्यथा कभी नहीं मिला होता। मुझे स्पष्ट रूप से मेरे मैनिफेस्ट में वाक्यविन्यास त्रुटि थी ... लंबी कहानी छोटी मुझे सब कुछ हटाना पड़ा और प्रत्येक फाइल/छवि को पथ एक-एक करके जोड़ना पड़ा। अंतिम परिणाम वही था हालांकि यह काम करता था ... कितना अजीब !!! क्या व्हाइटस्पेस/टिप्पणियां फ़ाइल के सिंटैक्स को प्रभावित करती हैं?

+0

यहां टूटा लिंक। – Marc

2

आईओएस ऑफ़लाइन होने पर मुद्दों को लोड करने के लिए बहुत संवेदनशील लगता है।

मैं जब एक पृष्ठ पर ऑफ़लाइन मैं पर काम कर रहा था अपने "खोला नहीं जा सका" त्रुटि हो रही थी। समस्या यह साबित हुई कि पृष्ठ ने उस साइट पर इशारा करते हुए एक आईफ्रेम बनाया है जिसमें ऐप कैश नहीं था। उन iframes को हटाने से समस्या ठीक हो गई।

मेरे मामले में, मैं यह window.navigator.standalone जिससे आपको पता चलता है कि क्या आप एक iOS होमस्क्रीन अनुप्रयोग में चला रहे हैं का उपयोग करके किया।

if (!navigator.standalone) insertFrames(); 
संबंधित मुद्दे