よく尋ねられる質問How do I uninstall a Service Worker?には、JavaScriptを使用してサービスワーカーの登録を解除するための素晴らしい回答があります。サービスワーカーが登録解除されたときに、どの名前付きキャッシュをクリアするにはどうすればよいですか?登録を解除するときにサービスワーカーキャッシュをクリアするにはどうすればよいですか?
MDN unregister
からサービスワーカーは、登録が解除される前に、実行中の操作をすべて終了します。uninstall
イベントをリスンすることは可能なはずですが、そのようなイベントは存在しないようです。as far as I can tellクスクスについては、サービスワーカーにself.addEventListener('uninstall', ...)
を追加しようとしましたが、期待どおり、登録解除しても起動しませんでした。私はまた登録を解除して送信される可能性のあるmessage
を聞いてみました。
私もservice worker stateを見て考えられませんが、installing
、installed
、activating
のどれも、activated
、およびredundant
は、関連する表示されます。言うまでもなく、それはサービスワーカーに渡すメッセージが可能であるようには見えないので、サービスワーカーの外からはuninstalling
州でどうしたらよいかわからない。
ストローには、uninstalling flagへの参照がありますが、どこにも公開されていません。提案?
ああ、それはとても簡単です!私は、サービスワーカーによって作成されたキャッシュは、そのサービスワーカーにしか利用できないということを頭の中で突き詰めました。削除したいキャッシュごとに 'caches.delete( 'cache_name')'を呼び出すことができます(必ずしもすべてではありません)。サービスワーカーで 'unregister'を呼び出すと同時に呼び出すことができます。ありがとう! – MDMower