Smaller sw

This commit is contained in:
Kasper Rynning-Tønnesen
2020-01-30 13:43:30 +01:00
parent e8a6284f02
commit afdf83385e

View File

@@ -6,50 +6,15 @@ var STATIC_CACHE_URLS = ["/"];
console.log("Nåværende versjon:", version);
self.addEventListener("activate", event => {
event.waitUntil(
caches
.keys()
.then(keys => keys.filter(key => key !== CACHE_NAME))
.then(keys =>
Promise.all(
keys.map(key => {
console.log(`Sletter mellom-lager på nøkkel ${key}`);
return caches.delete(key);
})
)
)
);
event.waitUntil(
caches
.keys()
.then(keys => keys.filter(key => key !== CACHE_NAME_API))
.then(keys =>
Promise.all(
keys.map(key => {
console.log(`Sletter mellom-lager på nøkkel ${key}`);
return caches.delete(key);
})
)
)
);
event.waitUntil(
caches.open(CACHE_NAME).then(cache => {
console.log("Legger til cache", cache);
return cache.addAll(STATIC_CACHE_URLS);
})
);
event.waitUntil(removeCache(CACHE_NAME));
event.waitUntil(removeCache(CACHE_NAME_API));
event.waitUntil(addCache(CACHE_NAME, STATIC_CACHE_URLS));
});
self.addEventListener("install", event => {
console.log("Arbeids arbeideren installerer seg.");
self.skipWaiting();
event.waitUntil(
caches.open(CACHE_NAME).then(cache => {
console.log("Legger til cache", cache);
return cache.addAll(STATIC_CACHE_URLS);
})
);
event.waitUntil(addCache(CACHE_NAME, STATIC_CACHE_URLS));
});
self.addEventListener("fetch", event => {
@@ -75,6 +40,27 @@ self.addEventListener("fetch", event => {
}
});
function addCache(cacheKey, cacheUrls) {
return caches.open(cacheKey).then(cache => {
console.log("Legger til cache", cache);
return cache.addAll(cacheUrls);
});
}
function removeCache(cacheKey) {
return caches
.keys()
.then(keys => keys.filter(key => key !== cacheKey))
.then(keys =>
Promise.all(
keys.map(key => {
console.log(`Sletter mellom-lager på nøkkel ${key}`);
return caches.delete(key);
})
)
);
}
function staticCache(request, response) {
if (response.type === "error" || response.type === "opaque") {
return Promise.resolve(); // do not put in cache network errors
@@ -86,7 +72,6 @@ function staticCache(request, response) {
}
function cache(request, response) {
//console.log(response.type === "error" || response.type === "opaque", request);
if (response.type === "error" || response.type === "opaque") {
return response;
}