-
Notifications
You must be signed in to change notification settings - Fork 0
/
sw.js
74 lines (70 loc) · 1.99 KB
/
sw.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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// const staticCacheName = "site-static-v1";
// const dynamicCache = "site-dynamic-v1";
// const assets = [
// "/",
// "index.html",
// "/pages/fallback.html",
// "/js/app.js",
// "/js/materialize.min.js",
// "/css/styles.css",
// "/css/materialize.min.css",
// "https://fonts.googleapis.com/icon?family=Material+Icons",
// ];
// // cache size limit function
// const limitCacheSize = (cacheName, size) => {
// caches.open(cacheName).then((cache) => {
// cache.keys().then((keys) => {
// console.log(keys.length);
// if (keys.length > size) {
// console.log("hi ", keys.length, keys[0]);
// cache.delete(keys[0]).then(limitCacheSize(cacheName, size));
// }
// });
// });
// };
// self.addEventListener("install", (e) => {
// e.waitUntil(
// caches
// .open(staticCacheName)
// .then((cache) => {
// return cache.addAll(assets);
// })
// .catch((err) => console.log(err))
// );
// });
// // activate service worker
// self.addEventListener("activate", (e) => {
// e.waitUntil(
// caches.keys().then((keys) => {
// console.log(keys); //
// return Promise.all(
// keys
// .filter((key) => key !== staticCacheName && key !== dynamicCache)
// .map((key) => caches.delete(key))
// );
// })
// );
// });
// self.addEventListener("fetch", (e) => {
// e.respondWith(
// caches
// .match(e.request)
// .then((cacheRes) => {
// return (
// cacheRes ||
// fetch(e.request).then((fetchRes) => {
// return caches.open(dynamicCache).then((cache) => {
// cache.put(e.request.url, fetchRes.clone());
// limitCacheSize(dynamicCache, 10);
// return fetchRes;
// });
// })
// );
// })
// .catch(() => {
// if (e.request.url.indexOf(".html") > -1) {
// return caches.match("/pages/fallback.html");
// }
// })
// );
// });