From a765237441e1ac267138d626e5b831a27fa38bdf Mon Sep 17 00:00:00 2001 From: lloydzhou Date: Fri, 19 Jul 2024 15:40:14 +0800 Subject: [PATCH] reload page when sw installed. --- public/serviceWorkerRegister.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/public/serviceWorkerRegister.js b/public/serviceWorkerRegister.js index 735ab9a13..4d0c5a697 100644 --- a/public/serviceWorkerRegister.js +++ b/public/serviceWorkerRegister.js @@ -1,7 +1,17 @@ if ('serviceWorker' in navigator) { - window.addEventListener('load', function () { + window.addEventListener('DOMContentLoaded', function () { navigator.serviceWorker.register('/serviceWorker.js').then(function (registration) { console.log('ServiceWorker registration successful with scope: ', registration.scope); + 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(); + } + } + } registration.update().then(res => { console.log('ServiceWorker registration update: ', res); });