تخزين التطبيق HTML5

باستخدام تطبيق التخزين المؤقت، يمكن إنشاء نسخة متصلة بالإنترنت للتطبيق بسهولة من خلال إنشاء ملف إعلان التخزين المؤقت.

ما هو تطبيق التخزين المؤقت؟

أدخل HTML5 تطبيق التخزين المؤقت (Application Cache)، مما يعني أنه يمكن تخزين تطبيقات الويب وتشغيلها دون اتصال بالإنترنت.

يقدم التخزين المؤقت للبرنامج ثلاثة مزايا للاستخدام

  1. تصفح غير متصل بالإنترنت - يمكن للمستخدمين استخدامها عندما تكون التطبيق غير متصلة بالإنترنت
  2. السرعة - يتم تحميل الموارد المحفوظة بسرعة أكبر
  3. تقليل تحميل الخادم - سيقوم المتصفح بتحميل الموارد التي تم تحديثها أو تغييرها فقط من الخادم

دعم المتصفحات

تظهر الأرقام في الجدول عن الإصدارات الأولى من المتصفحات التي تدعم حظيرة التطبيق بشكل كامل.

API
حظيرة التطبيق 4.0 10.0 3.5 4.0 11.5

مثال على Manifest حظيرة HTML

يظهر المثال التالي مستند HTML يحتوي على مانيفست حظيرة (للتصفح بدون اتصال بالإنترنت):

مثال

!DOCTYPE HTML
<html manifest="demo.appcache">
<body>
محتويات المستند ......
</body>
</html>

تجربة شخصية

أساس Cache Manifest

لتمكين حظيرة التطبيق، يجب تضمين خاصية manifest في علامة <html> من المستند:

!DOCTYPE HTML
<html manifest="demo.appcache">
...
</html>

يتم تخزين كل صفحة تم تحديد مانيفستها عند زيارتها من قبل المستخدم. إذا لم يتم تحديد خاصية المانيفست، لن يتم تخزين الصفحة (ما لم يتم تحديد الصفحة مباشرة في ملف المانيفست).

يُنصح بإضافة امتداد الملف الخاص بملف المانيفست وهو ".appcache".

ملاحظة:يحتاج ملف المانيفست إلى إعداد MIME-type الصحيح، وهو "text/cache-manifest". يجب إعداده على خادم الويب.

ملف Manifest

يكون ملف المانيفست ملف نصي بسيط، يخبر المتصفح عن المحتويات التي سيتم تخزينها (وحول المحتويات التي لن يتم تخزينها).

يكون ملف المانيفست مقسماً إلى ثلاثة أجزاء:

  • CACHE MANIFEST - في هذا العنوان يتم تحديد الملفات التي سيتم تخزينها بعد التحميل الأول.
  • NETWORK - في هذا العنوان يتم تحديد الملفات التي تحتاج إلى اتصال بالخادم ولا يتم تخزينها.
  • FALLBACK - في هذا العنوان يتم تحديد ملفات الfallback عندما لا يمكن الوصول إلى الصفحة (مثل الصفحة 404).

CACHE MANIFEST

السطر الأول، CACHE MANIFEST، هو ضروري:

CACHE MANIFEST
/theme.css
/logo.gif
/main.js

يحدد ملف المانيفست الموجود أعلاه ثلاثة موارد: ملف CSS، صورة GIF، وملف JavaScript. عند تحميل ملف المانيفست، يقوم المتصفح بتحميل هذه الثلاثة ملفات من مجلد الجذر لل موقع الويب. وبعد ذلك، تبقى هذه الموارد متاحة حتى إذا انقطع المستخدم عن الاتصال بالإنترنت.

NETWORK

يحدد الجزء NETWORK في الملف "login.php" ألا يتم تخزينه في الذاكرة المؤقتة ويكون غير مستخدم عند عدم الاتصال بالإنترنت:

NETWORK:
login.asp

يمكن استخدام النجمة لتحديد أن جميع الموارد/الملفات الأخرى تحتاج إلى اتصال بالإنترنت:

NETWORK:
*
FALLBACK

يحدد جزء FALLBACK أدناه أنه إذا لم يتمكن من إقامة اتصال بالإنترنت، يتم استبدال جميع ملفات مجلد /html/ بـ "offline.html":

FALLBACK:
/html/ /offline.html

ملاحظة:الرابط الأول هو المصدر، والثاني هو البديل.

تحديث التخزين المؤقت

بمجرد أن يتم تخزين التطبيق، سيظل المخزن حتى يحدث ما يلي:

  • إزالة التخزين المؤقت من المتصفح من قبل المستخدم
  • تم تعديل ملف المانيفست (انظر النصائح أدناه)
  • تحديث التخزين المؤقت للتطبيق من خلال البرنامج

مثال - ملف Cache Manifest الكامل

CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
NETWORK:
login.asp
FALLBACK:
/html/ /offline.html

نصيحة:تبدأ الأسطر التي تبدأ بـ "#" بكونها أسطر ملاحظات، ولكن يمكن استخدامها لأغراض أخرى أيضًا. يتم تحديث التخزين المؤقت للتطبيق فقط عندما يتم تغيير ملف المانيفست. إذا قمت بتعديل صورة أو تعديل دالة JavaScript، لن يتم تخزين هذه التغييرات مرة أخرى. تحديث تاريخ الأسطر الملاحظة وأرقام الإصدار هو طريقة لإجبار المتصفح على تحديث التخزين المؤقت للملفات.

ملاحظات حول التخزين المؤقت للتطبيقات

لاحظ محتويات السجل.

بمجرد أن يتم تخزين الملف، سيستمر المتصفح في عرض النسخة المخزنة، حتى لو قمت بتعديل الملف على الخادم. لتأكد من تحديث السجل المخزن، يجب تحديث ملف المانيفست.

ملاحظة:قد تكون محدودات سعة التخزين للمعلومات المخزنة في السجل مختلفة من متصفح إلى آخر (قد تكون محدودات بعض المتصفحات 5MB لكل موقع).