の使用は何ですが、私はたびにそれがworker.js
の更新バージョンをチェックするページのロードをサービスワーカーを登録するには `self.Clients.claim()`
navigator.serviceWorker.register('/worker.js')
を呼び出すことができます。更新が見つかった場合、新しいワーカーは、すべてのページのタブが閉じられてから再度開くまで使用されません。私は読んで解決策だった:
self.addEventListener('install', function(event) {
event.waitUntil(self.skipWaiting());
});
self.addEventListener('activate', function(event) {
event.waitUntil(self.clients.claim());
});
私はskipWaiting部分を理解することができますが、clients.claim()
は正確に何をするのでしょうか?私はいくつかの簡単なテストを行っており、それがなくても期待どおりに動作するようです。私はguide to the service worker lifecycleから以下を抜粋しています
クイックコメント: 'registration.update()'の呼び出しは、更新されたサービスワーカースクリプトをチェックするために*必須ではありません。これはナビゲーション要求の後、ブラウザによって自動的に行われます。 'registration.update()'は、ナビゲーション要求を待たずにチェックできるようにします。通常は不要です。 –
はい、私は質問を書いてからそれを見つけました。 – BonsaiOak