eSPJ/wwwroot/service-worker.js

40 lines
791 B
JavaScript

const CACHE_NAME = "spj-dlh-v1";
const urlsToCache = [
"/",
"/css/site.css",
"/js/site.js",
"/icons/icon-192.png",
"/icons/icon-512.png",
];
// Install
self.addEventListener("install", (event) => {
event.waitUntil(
caches.open(CACHE_NAME).then((cache) => cache.addAll(urlsToCache))
);
});
// Fetch
self.addEventListener("fetch", (event) => {
event.respondWith(
caches
.match(event.request)
.then((response) => response || fetch(event.request))
);
});
// Activate
self.addEventListener("activate", (event) => {
event.waitUntil(
caches
.keys()
.then((cacheNames) =>
Promise.all(
cacheNames
.filter((name) => name !== CACHE_NAME)
.map((name) => caches.delete(name))
)
)
);
});