الوصول إلى ذاكرات التخزين المؤقت من النافذة

مع كل هذه الإجراءات التي بذلناها خارج نطاق window، قد تعتقد أنّه لا يمكن الوصول إلى Cache مثيل إلا من خلال نطاق مشغّل الخدمات. الحقيقة هي أنّه يمكنك الوصول إلى مثيلات Cache في كلّ من نطاق مشغّل الخدمات وفي الرمز التقليدي لتطبيق الويب الخاص بك الذي يتم تشغيله في window. يسهِّل ذلك على المستخدم التفاعل مباشرةً مع ذاكرة التخزين المؤقت لمشغِّل الخدمات، أو تعديل واجهة المستخدم استنادًا إلى حالة ذاكرة التخزين المؤقت.

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

في التضمين أعلاه، يمكنك رؤية أنّ النص البرمجي app.js يكتب إلى ذاكرة التخزين المؤقت بلا إنترنت من سياق window عند النقر على الزر "حفظ للاستخدام بلا إنترنت". في مشغّل الخدمات، يتم تخزين مواد العرض الثابتة للصفحة مؤقتًا للوصول إليها بلا اتصال بالإنترنت. تُستخدَم استراتيجية NetworkOnly مع معالج خاص يدير الوصول بلا إنترنت للصفحات المخزَّنة مؤقتًا، ويتم تمريرها إلى NavigationRoute.

لاختبار الوظائف في تضمين Glitch، اتّبِع الخطوات التالية:

  1. افتح نافذة متصفح جديدة وانتقِل إلى https://save-for-offline-test.glitch.me/.
  2. انقر على الزر المكتوب عليه إضافة إلى قائمة القراءة بلا اتصال بالإنترنت.
  3. افتح أدوات المطوّرين في متصفّحك باستخدام Firefox أو Chrome. إذا كنت تستخدم متصفح Chrome، انتقِل إلى لوحة التطبيقات. في Firefox، انتقِل إلى لوحة التخزين.
  4. في أدوات المطوّرين في المتصفحَين، سيظهر لك عنصر مساحة التخزين في ذاكرة التخزين المؤقت في الجزء الأيمن. انقر لتوسيعها. ضمن الإدخال التخزين المؤقت بلا إنترنت، من المفترض أن يظهر لك عنوان URL للصفحة الذي أضفته للتو في الجزء الأيسر من الصفحة.
  5. انقر على أي رابط صفحة أخرى في أسفل الصفحة.
  6. يمكنك تبديل وضع عدم الاتصال بالإنترنت في أي من المتصفحين لمحاكاة الاتصال بلا اتصال بالإنترنت.
  7. انقر على رابط الصفحة التي أضفتها إلى ذاكرة التخزين المؤقت بلا اتصال بالإنترنت. يجب أن يظهر الجهاز حتى لو لم تكن متصلاً بالإنترنت.
  8. انقر على رابط لصفحة لم تُضِفها إلى ذاكرة التخزين المؤقت بلا إنترنت. وسيتعذّر تنفيذ الطلب.

هذه ليست حالة الاستخدام الوحيدة للتعامل مع مثيلات Cache في window. على سبيل المثال، يمكنك بشكلٍ توقّعي إحضار مواد العرض التي تعرف أن المستخدم سيحتاج إليها لتنفيذ إجراء محدد وكذلك في ذاكرة التخزين المؤقت لها. وسيؤدي ذلك إلى تقليل وقت الاستجابة لتنزيل مواد العرض عند الطلب أو تجنُّبها.

هناك حالات استخدام أخرى يُحتمل أن تكون مفيدة. وبما أنّه يمكنك التفاعل مع مثيلات Cache في حال عدم توفّر مشغّل خدمات، قد لا تتطلّب كلها تثبيت أحدها.