簡體   English   中英

Workbox:當有一個新的服務工作者時,它會加載但等待

[英]Workbox: when there is a new service worker, it loads but waits

我在 Windows Pro 10 上工作並使用 Workbox 6.x。 作為測試,在 Chrome 中:

  • 我加載我的網站
  • 在桌面上創建本地應用程序
  • 啟動應用程序
  • 按 F12 進入 DevTools
  • 離線檢查
  • 更改其中一個文件並重建站點
  • 發布網站
  • 離線檢查

我想要的是更新的服務工作者立即被激活,但 DevTools 說它正在等待。

文檔說默認情況下這將被添加到服務工作者中:

 self.addEventListener('message', event => { if (event.data && event.data.type === 'SKIP_WAITING') { self.skipWaiting(); }

我檢查並確實添加了代碼,

那么為什么 skipWaiting 不做這項工作呢?

謝謝,

吉爾斯普蘭特

您是否使用workbox-build generateSW來生成您的服務人員? 因為默認skipWaiting設置為false。 您可以在 docstring中查看它,也可以在defaults中查看。

如果您只是想在開發時跳過waiting state 的 service worker,您可以在 Chrome Dev Tools 中啟用Update on Reload

重新加載更新

另外,請注意skipWaiting() 的危險

暫無
暫無

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

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