|
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