ServiceWorkerGlobalScope.skipWaiting()

Experimental

これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

ServiceWorkerGlobalScope スコープの ServiceWorkerGlobalScope.skipWaiting() メソッドは、待機している Service Worker がアクティブになるように強制します。

このメソッドは、Clients.claim() と併用することで、現在のクライアントと他のすべてのアクティブなクライアントの両方で、元となる Service Worker の更新が即座に有効になるようにします。

構文

ServiceWorkerGlobalScope.skipWaiting().then(function() {
  //Do something
});

戻り値

Promise

次の例では、登録済みの Service Worker の新しいバージョンでインストールされている既存のものを置き換え、開いているページ上で現在アクティブな worker を入れ替えています。

self.addEventListener('install', function(event) {
  event.waitUntil(self.skipWaiting());
});
self.addEventListener('activate', function(event) {
  event.waitUntil(self.clients.claim());
});

仕様

仕様 ステータス コメント
Service Workers
ServiceWorker の定義
草案 初期定義。

ブラウザー実装状況

BCD tables only load in the browser

関連項目