Przeglądaj źródła

更新serviceworker逻辑

lloydzhou 1 rok temu
rodzic
commit
eb7c7cdcb6
2 zmienionych plików z 9 dodań i 1 usunięć
  1. 1 0
      public/serviceWorker.js
  2. 8 1
      public/serviceWorkerRegister.js

+ 1 - 0
public/serviceWorker.js

@@ -7,6 +7,7 @@ self.addEventListener("activate", function (event) {
 });
 
 self.addEventListener("install", function (event) {
+  self.skipWaiting();  // 立即启用新的版本
   event.waitUntil(
     caches.open(CHATGPT_NEXT_WEB_CACHE).then(function (cache) {
       return cache.addAll([]);

+ 8 - 1
public/serviceWorkerRegister.js

@@ -2,8 +2,15 @@ if ('serviceWorker' in navigator) {
   window.addEventListener('load', function () {
     navigator.serviceWorker.register('/serviceWorker.js').then(function (registration) {
       console.log('ServiceWorker registration successful with scope: ', registration.scope);
+      registration.update().then(res => {
+        console.log('ServiceWorker registration update: ', res);
+      });
     }, function (err) {
       console.error('ServiceWorker registration failed: ', err);
     });
+    navigator.serviceWorker.addEventListener('controllerchange', function() {
+      console.log('ServiceWorker controllerchange ');
+      window.location.reload(true);
+    });
   });
-}
+}