سؤال

أحتاج أن أكون قادرًا على تشغيل نماذج HTML في وضع عدم الاتصال.أعني أنه يتعين عليهم العمل دون اتصال مباشر بخادم الويب.

في أحد التطبيقات التي كتبتها منذ أكثر من 5 سنوات، قمت بذلك عن طريق تنفيذ معالج بروتوكول مخصص - عندما يبدأ المستخدم إرسال النموذج، يتم تسجيل طلب HTTP الناتج محليًا.في وقت لاحق، عندما يصبح الاتصال بالخادم متاحًا، يقوم برنامج المزامنة بالتكرار من خلال الطلبات المجمعة وإرسالها إلى الخادم، ثم يجمع الردود ويحفظها مرة أخرى محليًا لاستخدامها لاحقًا.

التي كانت آنذاك.الآن اتصل بي عميل آخر بطلب مماثل جدًا.ما هي التكنولوجيا التي تعتقدون أنني يجب أن أستخدمها اليوم؟

دعم HTML5 محدود للغاية حتى الآن.جوجل التروس؟أم يجب أن أعود وأستمر في استخدام معالج البروتوكول والمزامن المخصص؟

هل كانت مفيدة؟

المحلول

أود أن أقول اذهب إلى HTML5.لا تدعمه جميع المتصفحات؛ولكن كل شيء سوف.في هذه الأثناء، أعتقد أنه من الأفضل أن نقول "للحصول على ميزات دون الاتصال بالإنترنت، جرب هذا المتصفح أو ذاك"، بدلاً من "الرجاء تنزيل هذا البرنامج الإضافي الضخم الذي يحتوي على الكثير من التحذيرات المخيفة".

أيضا التركيبة السكانية البسيطة:HTML5 موجود في 5% من جميع المتصفحات؟10%؟لا يزال هناك أكثر بكثير من 0% من المستخدمين الذين لديهم Gears مثبتين بالفعل.

إنه لأمر مؤسف حقًا، شكرًا جزيلاً لشركة Google على دفع الظرف باستخدام Gears؛ولكن في البرية فإن البرنامج المساعد الوحيد المقبول عمومًا هو Flash.ولحسن الحظ، فإن HTML5 موجود تقريبًا بالفعل، مع نفس الميزات تقريبًا.

نصائح أخرى

يعد Google Gears مرشحًا جيدًا جدًا - على سبيل المثال، أعلنت Google مؤخرًا أن المستخدمين سيكونون قادرين على إرفاق ملفات برسائل البريد الإلكتروني أثناء "عدم الاتصال".قد تكون هناك طريقة أخرى تتمثل في تخزين بيانات النموذج المنشور في ملف تعريف الارتباط، وعندما يتمكن المستخدم من الاتصال بالإنترنت مرة أخرى، يلتقط الخادم ملف تعريف الارتباط والبيانات معه.

هناك شائعات مفادها أن Google Gears لم يعد قيد التطوير.عندما تنظر إلى ميزات التروس ومتعقب المشكلات في http://code.google.com/p/gears/issues/list?can=2&q=&sort=version&colspec=Version%20Milestone%20Owner%20ID%20Summary%20Component بالنسبة لتطوير Gears الجديد، هناك 3 عناصر فقط سيتم إصلاحها في الإصدار 0.6.أيضًا، وفقًا لمقالة ويكيبيديا هذه (http://en.wikipedia.org/wiki/Google_Gears)، يبدو أن Google لا تقوم بأي تطوير، كما أن المشروع مفتوح المصدر لا يتمتع بقوة كبيرة أيضًا.مأخوذ من المقال ما يلي:

"في أواخر نوفمبر 2009، ذكرت العديد من مصادر الأخبار عبر الإنترنت أن Google ستنتقل لاستخدام HTML 5 بدلاً من Gears في المستقبل.وأوضح متحدث باسم Google لاحقًا أن Google ستواصل دعم Gears حتى لا تتعطل المواقع التي تستخدمه."

بمعنى آخر، تم إهمال Gears.استخدم HTML 5 بدلاً من ذلك.

Dojo.Storage/Dojo غير متصل ، يحتوي على جسر فلاش سيمكنك من تخزين البيانات باستخدام مخزن بيانات الفلاش.تم تعيين الحد بواسطة المستخدم، ولكنه يبدأ عند 5 ميجابايت.مكون المكتبة عبارة عن تجريد، ويدعم أيضًا HTML 5 وملفات تعريف الارتباط والتروس.

ستسمح لك Plus gears بتخزين النقط الثنائية، إذا كانت الذاكرة تخدمك.

لقد مات Google Gears: http://gearsblog.blogspot.com/2011/03/stopping-gears.html

من المحتمل أن يكون أفضل رهان هو مزيج من معايير HTML5 الخاصة بـ applicationCache وlocalStorage.

ومع ذلك، يجب استخدام applicationCache بشكل مقتصد - فهو أمر صعب للغاية.تشرح هذه المقالة السبب، بالإضافة إلى تقديم بعض الإرشادات حول كيفية استخدام نهج مختلط لـ 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 لاكتشاف حالة عدم الاتصال بالإنترنت - فهو لا يتم تنفيذه بشكل متسق عبر المتصفحات، وربما يكون من الأفضل أن يخبرك المستخدم صراحةً بما إذا كان غير متصل بالإنترنت أم لا.

-- تشاد

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top