Skip to content

Commit 2cb3557

Browse files
committed
adding sw
1 parent 0b2e486 commit 2cb3557

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

web/js/blog.js

+20
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
var offlineIcon;
55
var isOnline = ("onLine" in navigator) && navigator.onLine;
66
var isLoggedIn = /isLoggedIn=1/.test(document.cookie.toString() || "");
7+
var usingSW = ("serviceWorker" in navigator);
8+
var swRegistration;
9+
var svcworker;
10+
11+
if (usingSW) {
12+
initServiceWorker().catch(console.error);
13+
}
714

815
document.addEventListener("DOMContentLoaded",ready,false);
916

@@ -27,4 +34,17 @@
2734
},false);
2835
}
2936

37+
async function initServiceWorker() {
38+
swRegistration = await navigator.serviceWorker.register("/sw.js",{
39+
updateViaCache: "none",
40+
});
41+
42+
svcworker = swRegistration.installing || swRegistration.waiting || swRegistration.active;
43+
44+
// listen for new service worker to take over
45+
navigator.serviceWorker.addEventListener("controllerchange",async function onController(){
46+
svcworker = navigator.serviceWorker.controller;
47+
});
48+
}
49+
3050
})();

web/js/sw.js

+27-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
11
"use strict";
22

3-
// TODO
3+
var version = 1;
4+
5+
self.addEventListener("install",onInstall);
6+
self.addEventListener("activate",onActivate);
7+
8+
main().catch(console.error);
9+
10+
11+
// ****************************
12+
13+
async function main() {
14+
console.log(`Service Worker (v${version}) started`);
15+
}
16+
17+
function onInstall(evt) {
18+
console.log(`Service Worker (v${version}) installed`);
19+
self.skipWaiting();
20+
}
21+
22+
function onActivate(evt) {
23+
evt.waitUntil(handleActivation());
24+
}
25+
26+
async function handleActivation() {
27+
await clients.claim();
28+
console.log(`Service Worker (v${version}) activated`);
29+
}

0 commit comments

Comments
 (0)