Pārlūkot izejas kodu

reload page when sw installed.

lloydzhou 1 gadu atpakaļ
vecāks
revīzija
a765237441
1 mainītis faili ar 11 papildinājumiem un 1 dzēšanām
  1. 11 1
      public/serviceWorkerRegister.js

+ 11 - 1
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);
       });