-
Notifications
You must be signed in to change notification settings - Fork 0
/
worker.js
60 lines (51 loc) · 2.03 KB
/
worker.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const cacheName = "Generator-v1";
const appShellFiles = [
"/Skyrim-Character-Generator/",
"/Skyrim-Character-Generator/index.html",
"/Skyrim-Character-Generator/style.css",
"/Skyrim-Character-Generator/script.js",
"/Skyrim-Character-Generator/worker.js",
"/Skyrim-Character-Generator/averiaseriflibre.woff2",
"/Skyrim-Character-Generator/img/icon.png",
"/Skyrim-Character-Generator/img/info.png",
"/Skyrim-Character-Generator/img/refresh.png",
"/Skyrim-Character-Generator/img/races/Altmer.png",
"/Skyrim-Character-Generator/img/races/Argonian.png",
"/Skyrim-Character-Generator/img/races/Bosmer.png",
"/Skyrim-Character-Generator/img/races/Breton.png",
"/Skyrim-Character-Generator/img/races/Dunmer.png",
"/Skyrim-Character-Generator/img/races/Imperial.png",
"/Skyrim-Character-Generator/img/races/Khajiit.png",
"/Skyrim-Character-Generator/img/races/Nord.png",
"/Skyrim-Character-Generator/img/races/Orsimer.png",
"/Skyrim-Character-Generator/img/races/Redguard.png",
];
// Add cache only on install ?
self.addEventListener("install", (e) => {
e.waitUntil(async () => {
const cache = await caches.open(cacheName);
await cache.addAll(appShellFiles);
});
});
self.addEventListener("activate", (e) => {
e.waitUntil(caches.keys().then(keys => {
return Promise.all(keys.map(key => {
if(key == cacheName)
return;
return caches.delete(key);
}));
}));
});
self.addEventListener("fetch", (e) => {
e.respondWith((async () => {
// if(e.request.url.startsWith("chrome-extension"))
// return;
const cachedResponse = await caches.match(e.request);
if(cachedResponse)
return cachedResponse;
const response = await fetch(e.request);
const cache = await caches.open(cacheName);
cache.put(e.request, response.clone());
return response;
})());
});