簡體   English   中英

當應用程序已加載時 PWA 更新服務工作者

[英]PWA update service worker when app is already loaded

我正在構建一個 PWA 並且我正在尋找一種在應用程序已經打開和加載時更新服務工作者的方法。

例如,用戶在手機上打開應用程序一次,然后在白天切換其他應用程序,而沒有完全關閉 PWA。

如果我在兩者之間上傳了一個新版本,那么如何更新 Service Worker?

以及是否有可能在用戶使用應用程序時通知服務有關更新的方法?

Service Worker 是否能夠不時自動檢查是否上傳了新內容? 整個應用程序被緩存並從 s3 存儲桶提供服務。

任何建議將不勝感激。

來自 MDN 上的“ServiceWorkerRegistration.update()”

ServiceWorkerRegistration 接口的 update 方法嘗試更新 Service Worker。 它獲取工作線程的腳本 URL,如果新工作線程與當前工作線程不是逐字節相同的,則安裝新工作線程。 如果前一次提取發生在 24 小時前,則工作器的提取會繞過任何瀏覽器緩存。

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw-test/sw.js', {scope: 'sw-test'}).then(function(registration) {
    // registration worked
    console.log('Registration succeeded.');
    button.onclick = function() {
      registration.update();
    }
  }).catch(function(error) {
    // registration failed
    console.log('Registration failed with ' + error);
  });
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM