change service worker registration
This commit is contained in:
parent
8dd4e8d5e2
commit
2ee0eabc72
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="app" class="dark-mode">
|
<div id="app">
|
||||||
<div v-if="isConnected">
|
<div v-if="isConnected">
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,15 +1,84 @@
|
|||||||
import { Workbox } from 'workbox-window';
|
|
||||||
|
|
||||||
if ('serviceWorker' in navigator) {
|
if ('serviceWorker' in navigator) {
|
||||||
const wb = new Workbox('service-worker.js');
|
const { Workbox } = new Workbox('service-worker.js');
|
||||||
|
|
||||||
|
const wb = new Workbox('/service-worker.js');
|
||||||
|
wb.addEventListener('activated', event => {
|
||||||
|
// `event.isUpdate` will be true if another version of the service
|
||||||
|
// worker was controlling the page when this version was registered.
|
||||||
|
if (!event.isUpdate) {
|
||||||
|
console.log('Service worker activated for the first time!');
|
||||||
|
|
||||||
|
// If your service worker is configured to precache assets, those
|
||||||
|
// assets should all be available now.
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
wb.addEventListener('waiting', () => {
|
||||||
|
console.log(
|
||||||
|
`A new service worker has installed, but it can't activate` +
|
||||||
|
`until all tabs running the current version have fully unloaded.`,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
wb.addEventListener('message', event => {
|
||||||
|
if (event.data.type === 'CACHE_UPDATE') {
|
||||||
|
const { updatedURL } = event.data.payload;
|
||||||
|
|
||||||
|
console.log(`A newer version of ${updatedURL} is available!`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
wb.addEventListener('installed', event => {
|
wb.addEventListener('installed', event => {
|
||||||
if (event.isUpdate) {
|
if (!event.isUpdate) {
|
||||||
if (confirm(`Update available. Click OK to update`)) {
|
console.log('First install');
|
||||||
window.location.reload();
|
} else {
|
||||||
}
|
console.log('updated install');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
wb.addEventListener('controlling', event => {
|
||||||
|
if (!event.isUpdate) {
|
||||||
|
console.log('First control');
|
||||||
|
} else {
|
||||||
|
console.log('updated control');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
wb.addEventListener('externalinstalled', event => {
|
||||||
|
if (!event.isUpdate) {
|
||||||
|
console.log('external first install');
|
||||||
|
} else {
|
||||||
|
console.log('external update install');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
wb.addEventListener('externalwaiting', event => {
|
||||||
|
if (!event.isUpdate) {
|
||||||
|
console.log('external first waiting');
|
||||||
|
} else {
|
||||||
|
console.log('external update waiting');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
wb.addEventListener('externalactivated', event => {
|
||||||
|
if (!event.isUpdate) {
|
||||||
|
console.log('external first acvtive');
|
||||||
|
} else {
|
||||||
|
console.log('external update acvtive');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
wb.addEventListener('redundant', event => {
|
||||||
|
// `event.isUpdate` will be true if another version of the service
|
||||||
|
// worker was controlling the page when this version was registered.
|
||||||
|
if (!event.isUpdate) {
|
||||||
|
console.log('Service worker redundant for the first time!');
|
||||||
|
|
||||||
|
// If your service worker is configured to precache assets, those
|
||||||
|
// assets should all be available now.
|
||||||
|
}
|
||||||
|
console.log(event);
|
||||||
|
});
|
||||||
|
|
||||||
wb.register();
|
wb.register();
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user