|
1 | | -// (A) CREATE/INSTALL CACHE |
2 | | -self.addEventListener("install", evt => { |
3 | | - self.skipWaiting(); |
4 | | - evt.waitUntil( |
5 | | - caches.open("CoreBoxx") |
6 | | - .then(cache => cache.addAll([ |
7 | | - // (A1) BOOTSTRAP |
8 | | - "assets/bootstrap.bundle.min.js", |
9 | | - "assets/bootstrap.bundle.min.js.map", |
10 | | - "assets/bootstrap.min.css", |
11 | | - "assets/bootstrap.min.css.map", |
12 | | - // (A2) ICONS + IMAGES |
13 | | - "assets/ico-512.png", |
14 | | - "assets/favicon.png", |
15 | | - // (A3) COMMON INTERFACE |
16 | | - "assets/icomoon.woff", |
17 | | - "assets/PAGE-cb.js", |
18 | | - "assets/PAGE-cb.css", |
19 | | - "CB-manifest.json" |
20 | | - // @TODO - ADD MORE OF YOUR OWN TO CACHE |
21 | | - ])) |
22 | | - .catch(err => console.error(err)) |
23 | | - ); |
24 | | -}); |
25 | | - |
26 | | -// (B) CLAIM CONTROL INSTANTLY |
27 | | -self.addEventListener("activate", evt => self.clients.claim()); |
28 | | - |
29 | | -// (C) LOAD FROM CACHE FIRST, FALLBACK TO NETWORK IF NOT FOUND |
30 | | -self.addEventListener("fetch", evt => evt.respondWith( |
31 | | - caches.match(evt.request).then(res => res || fetch(evt.request)) |
| 1 | +// (A) LOAD FROM CACHE FIRST, FALLBACK TO NETWORK IF NOT FOUND |
| 2 | +self.addEventListener("fetch", e => e.respondWith( |
| 3 | + caches.match(e.request).then(r => r || fetch(e.request)) |
32 | 4 | )); |
33 | 5 |
|
34 | | -/* (C) LOAD WITH NETWORK FIRST, FALLBACK TO CACHE IF OFFLINE |
35 | | -self.addEventListener("fetch", evt => evt.respondWith( |
36 | | - fetch(evt.request).catch(() => caches.match(evt.request)) |
37 | | -)); */ |
38 | | - |
39 | | -// (D) LISTEN TO PUSH NOTIFICATIONS |
40 | | -self.addEventListener("push", evt => { |
41 | | - const data = evt.data.json(); |
| 6 | +// (B) LISTEN TO PUSH NOTIFICATIONS |
| 7 | +self.addEventListener("push", e => { |
| 8 | + const data = e.data.json(); |
42 | 9 | self.registration.showNotification(data.title, { |
43 | 10 | body: data.body, |
44 | 11 | icon: data.icon, |
|
0 commit comments