blob: fc3d9ded47464b37d9a1f91cdce0672de743fb7d (
plain)
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
|
<!DOCTYPE html>
<html>
<body>
<script>
function logState(state) {
console.log("Service worker " + state)
}
const registerServiceWorker = async () => {
try {
var serviceWorker;
const registration = await navigator.serviceWorker.register('/sw.js');
if (registration.installing) {
serviceWorker = registration.installing;
} else if (registration.waiting) {
serviceWorker = registration.waiting;
} else if (registration.active) {
serviceWorker = registration.active;
}
} catch (error) {
console.error("Service worker registration error: ${error}");
}
if (serviceWorker) {
logState(serviceWorker.state);
serviceWorker.addEventListener('statechange', function(e) {
logState(e.target.state);
});
}
};
if ('serviceWorker' in navigator) {
registerServiceWorker();
navigator.serviceWorker.ready.then((registration) => {
navigator.serviceWorker.onmessage = (event) => {
if (event.data && event.data.type === 'PONG') {
console.log("Service worker done");
}
};
registration.active.postMessage({type: 'PING'});
});
}
</script>
</body>
</html>
|