2023-03-27 10:02:35 +00:00
|
|
|
if ('serviceWorker' in navigator) {
|
2024-07-19 07:40:14 +00:00
|
|
|
window.addEventListener('DOMContentLoaded', function () {
|
2023-03-27 10:02:35 +00:00
|
|
|
navigator.serviceWorker.register('/serviceWorker.js').then(function (registration) {
|
|
|
|
console.log('ServiceWorker registration successful with scope: ', registration.scope);
|
2024-07-19 07:40:14 +00:00
|
|
|
const sw = registration.installing || registration.waiting
|
|
|
|
if (sw) {
|
|
|
|
sw.onstatechange = function() {
|
|
|
|
if (sw.state === 'installed') {
|
|
|
|
// SW installed. Reload for SW intercept serving SW-enabled page.
|
|
|
|
console.log('ServiceWorker installed reload page');
|
|
|
|
window.location.reload();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-07-19 05:50:10 +00:00
|
|
|
registration.update().then(res => {
|
|
|
|
console.log('ServiceWorker registration update: ', res);
|
|
|
|
});
|
2024-07-19 08:03:22 +00:00
|
|
|
window._SW_ENABLED = true
|
2023-03-27 10:02:35 +00:00
|
|
|
}, function (err) {
|
|
|
|
console.error('ServiceWorker registration failed: ', err);
|
|
|
|
});
|
2024-07-19 05:50:10 +00:00
|
|
|
navigator.serviceWorker.addEventListener('controllerchange', function() {
|
|
|
|
console.log('ServiceWorker controllerchange ');
|
|
|
|
window.location.reload(true);
|
|
|
|
});
|
2023-03-27 10:02:35 +00:00
|
|
|
});
|
2024-07-19 05:50:10 +00:00
|
|
|
}
|