File Manager
Editing: sw.js
var CACHE_NAME = 'eizon-cache-v1'; var OFFLINE_URL = '/offline'; // Pages and assets to pre-cache on install var PRE_CACHE = [ '/', '/offline', '/home', '/products', ]; // Install — pre-cache core pages self.addEventListener('install', function (event) { event.waitUntil( caches.open(CACHE_NAME).then(function (cache) { return cache.addAll(PRE_CACHE); }) ); self.skipWaiting(); }); // Activate — clean up old caches self.addEventListener('activate', function (event) { event.waitUntil( caches.keys().then(function (keys) { return Promise.all( keys.filter(function (key) { return key !== CACHE_NAME; }).map(function (key) { return caches.delete(key); }) ); }) ); self.clients.claim(); }); // Fetch — network first, fall back to cache self.addEventListener('fetch', function (event) { // Only handle GET requests for your domain if (event.request.method !== 'GET') return; if (!event.request.url.includes('eizononline.com')) return; event.respondWith( fetch(event.request) .then(function (networkResponse) { // Cache every successful page visit var responseClone = networkResponse.clone(); caches.open(CACHE_NAME).then(function (cache) { cache.put(event.request, responseClone); }); return networkResponse; }) .catch(function () { // Network failed — try cache return caches.match(event.request).then(function (cached) { if (cached) return cached; // Nothing cached for this page — show offline page return caches.match(OFFLINE_URL); }); }) ); });
💾 Save
⬅ Back