2009-11-26 22 views
5

मुझे HTML फॉर्म ऑफ़लाइन चलाने में सक्षम होना चाहिए। मेरा मतलब है कि उन्हें वेब सर्वर से सीधे कनेक्शन के बिना काम करना है।HTML फॉर्म ऑफ़लाइन काम कर रहे हैं

एक आवेदन में मैंने 5 साल पहले लिखा था, मैंने इसे कस्टम प्रोटोकॉल हैंडलर लागू करके किया था - जब कोई उपयोगकर्ता फॉर्म प्रस्तुत करता था तो परिणामस्वरूप HTTP अनुरोध स्थानीय रूप से दर्ज किया गया था। बाद में जब सर्वर से कनेक्शन उपलब्ध हो जाता है तो एक सिंक्रनाइज़ेशन प्रोग्राम एकत्रित अनुरोधों के माध्यम से लूप करता है और उन्हें सर्वर पर सबमिट करता है प्रतिक्रियाओं को एकत्र करता है और फिर बाद में उपयोग के लिए उन्हें स्थानीय रूप से सहेजता है।

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

एचटीएमएल 5 के लिए समर्थन अभी तक बहुत सीमित है। Google गियर? या मैं वापस जाना चाहिए और प्रोटोकॉल हैंडलर और कस्टम सिंक्रनाइज़र का उपयोग जारी रखना चाहिए?

+0

एक स्पष्ट प्रश्न: क्या यह केवल बड़े पैमाने पर उपयोगकर्ता एप्लिकेशन या आंतरिक के लिए है? क्या आप जानते हैं कि आपके उपयोगकर्ताओं के लिए ब्राउज़र आवश्यकताएं क्या हैं? यदि यह आंतरिक है और आपके पास कुछ नियंत्रण है, तो आप एक साधारण एयर एप्लिकेशन करने पर भी विचार कर सकते हैं। एडोब एआईआर 'ग्रीन' स्टोरेज के लिए Google गियर्स का उपयोग करता है, और एआईआर के आने वाले संस्करण और भी करेंगे। – Joshua

+0

यह एक आंतरिक ऐप है। कंपनी के साथ आपूर्ति किए गए लैपटॉप के साथ लोग फॉर्म भरने के लिए फॉर्म प्राप्त करते हैं और फॉर्म भरने के लिए फ़ील्ड में बाहर जाते हैं – mfeingold

उत्तर

4

मैं कहूंगा कि HTML5 के लिए जाएं। सभी ब्राउज़र इसका समर्थन नहीं करते हैं; लेकिन सभी करेंगे। इस बीच, मुझे लगता है कि "ऑफ़लाइन सुविधाओं को ऐसे या ऐसे ब्राउज़र को आजमाएं" के बजाय, "कृपया इस विशाल प्लगइन को बहुत डरावनी चेतावनियों के साथ डाउनलोड करें" कहने के लिए बेहतर है।

इसके अलावा एक साधारण जनसांख्यिकी: HTML5 सभी ब्राउज़रों में से 5% क्या है? 10%? गियर के साथ पहले से इंस्टॉल किए गए उपयोगकर्ताओं के 0% से भी बहुत अधिक है।

यह वास्तविक दयालुता है, बहुत सारे Google को गियर्स के साथ लिफाफे को धक्का देने के लिए धन्यवाद; लेकिन जंगली में आम तौर पर स्वीकार किया जाने वाला एकमात्र प्लगइन फ्लैश होता है। सौभाग्य से, एचटीएमएल 5 लगभग पहले ही वही सुविधाओं के साथ है।

+0

+1 – tosh

2

Google गियर्स एक बहुत अच्छा उम्मीदवार है - उदाहरण के तौर पर, Google ने हाल ही में घोषणा की है कि उपयोगकर्ता 'ऑफलाइन' के दौरान ईमेल को फाइल संलग्न करने में सक्षम होंगे। कुकी में पोस्ट फॉर्म डेटा को स्टोर करने का एक और तरीका हो सकता है, और जब उपयोगकर्ता ऑनलाइन वापस आ सकता है तो सर्वर कुकी और डेटा को इसके साथ उठाता है।

+0

फॉर्म एक कुकी इसे काट नहीं देगा। रूपों में डेटा की दर्जनों क्षेत्रों में काफी महत्वपूर्ण मात्रा हो सकती है। मैं – mfeingold

+0

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

1

Dojo.Storage/ Dojo Offline, एक फ्लैश ब्रिज है जो आपको फ्लैश के डेटा स्टोर का उपयोग करके डेटा स्टोर करने में सक्षम बनाता है। सीमा उपयोगकर्ता सेट है, लेकिन 5 एमबी से शुरू होता है। लाइब्रेरी घटक एक अमूर्त है, और एचटीएमएल 5, कुकीज़ और गियर्स का भी समर्थन करता है।

प्लस गियर आपको बाइनरी ब्लब्स स्टोर करने की अनुमति देगा, अगर स्मृति सेवा करता है।

2

अफवाहें चल रही हैं कि Google Gears अब विकास में नहीं है। जब आप नए गियर्स विकास के लिए http://code.google.com/p/gears/issues/list?can=2&q=&sort=version&colspec=Version%20Milestone%20Owner%20ID%20Summary%20Component पर गियर सुविधाओं और समस्या ट्रैकर को देखते हैं, तो केवल 3 आइटम हैं जो संस्करण 0.6 में तय किए जाएंगे। इसके अलावा, इस विकिपीडिया लेख (http://en.wikipedia.org/wiki/Google_Gears) के अनुसार, ऐसा लगता है कि Google कोई विकास नहीं कर रहा है, और ओपन सोर्स प्रोजेक्ट में बहुत अधिक भाप नहीं है। लेख से लिया गया यह है:

"नवंबर 200 9 के अंत में, कई ऑनलाइन समाचार स्रोतों ने बताया कि Google भविष्य में गियर्स की बजाय एचटीएमएल 5 का उपयोग करने के लिए माइग्रेट करने जा रहा है। Google प्रवक्ता ने बाद में स्पष्ट किया कि Google हालांकि जारी रहेगा इसका उपयोग कर साइटों को तोड़ने के लिए गियर्स का समर्थन करें। "

दूसरे शब्दों में, गियर्स को बहिष्कृत कर दिया गया है। इसके बजाय एचटीएमएल 5 का प्रयोग करें।

1

Google गियर्स का मर चुका है: http://gearsblog.blogspot.com/2011/03/stopping-gears.html

आपका सबसे अच्छा शर्त शायद applicationCache और localStorage के लिए एचटीएमएल 5 मानकों का एक संयोजन है।

हालांकि, एप्लिकेशन कैश का उपयोग कम से कम किया जाना चाहिए - यह एक वास्तविक दर्द है।यह लेख बताता है कि क्यों है, साथ ही कैसे ऑफ़लाइन देखने के (नहीं जमा) पृष्ठों के लिए applicationCache और localStorage का एक संकर दृष्टिकोण का उपयोग करने पर कुछ संकेत दे रही है:

http://www.alistapart.com/articles/application-cache-is-a-douchebag/

यहाँ एक लेख जो का एक उदाहरण है localStorage में प्रपत्र डेटा पर कब्जा, लेकिन दुर्भाग्य से यह वास्तव में ऑफ़लाइन डेटा प्रस्तुत करने का एक उदाहरण प्रदान नहीं करता है:

http://miniapps.co.uk/blog/post/using-html5-localstorage-as-a-fallback-for-offline-form-submission

इसके अलावा

, window.navigator.onLine से सावधान ऑफ़लाइन स्थिति का पता लगाने के लिए - यह लगातार लागू नहीं है ब्रो में wsers, और संभवतः आप उपयोगकर्ता को स्पष्ट रूप से बताएंगे कि वे ऑफ़लाइन हैं या नहीं।

- चाड

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