1
0
forked from poc/pds
Files
poc-pds1/public/sw.js

94 lines
2.2 KiB
JavaScript

"use strict";
const CACHE_NAME = "offline-cache-v1";
const OFFLINE_URL = '/offline.html';
const filesToCache = [
OFFLINE_URL
];
self.addEventListener("install", (event) => {
event.waitUntil(
caches.open(CACHE_NAME)
.then((cache) => cache.addAll(filesToCache))
);
});
self.addEventListener("fetch", (event) => {
if (event.request.mode === 'navigate') {
event.respondWith(
fetch(event.request)
.catch(() => {
return caches.match(OFFLINE_URL);
})
);
} else {
event.respondWith(
caches.match(event.request)
.then((response) => {
return response || fetch(event.request);
})
);
}
});
self.addEventListener('activate', (event) => {
event.waitUntil(
caches.keys().then((cacheNames) => {
return Promise.all(
cacheNames.map((cacheName) => {
if (cacheName !== CACHE_NAME) {
return caches.delete(cacheName);
}
})
);
})
);
});
// const CACHE_NAME = 'pds-app-cache-v1';
// const OFFLINE_URL = '/offline.html';
// const urlsToCache = [
// '/',
// '/admin',
// OFFLINE_URL,
// '/icons/icon-192x192.png',
// '/icons/icon-512x512.png'
// ];
// self.addEventListener('install', event => {
// event.waitUntil(
// caches.open(CACHE_NAME)
// .then(cache => cache.addAll(urlsToCache))
// .then(self.skipWaiting())
// );
// });
// self.addEventListener('activate', event => {
// event.waitUntil(
// caches.keys().then(keys =>
// Promise.all(keys.map(key => {
// if (key !== CACHE_NAME) return caches.delete(key);
// }))
// )
// );
// self.clients.claim();
// });
// self.addEventListener('fetch', event => {
// if (event.request.mode === 'navigate') {
// event.respondWith(
// fetch(event.request).catch(() =>
// caches.match(OFFLINE_URL)
// )
// );
// } else {
// event.respondWith(
// caches.match(event.request).then(response =>
// response || fetch(event.request)
// )
// );
// }
// });