ServiceWorkerGlobalScope.skipWaiting()
Experimental
これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
ServiceWorkerGlobalScope
スコープの ServiceWorkerGlobalScope.skipWaiting()
メソッドは、待機している Service Worker がアクティブになるように強制します。
このメソッドは、Clients.claim()
と併用することで、現在のクライアントと他のすべてのアクティブなクライアントの両方で、元となる Service Worker の更新が即座に有効になるようにします。
構文
ServiceWorkerGlobalScope.skipWaiting().then(function() {
//Do something
});
戻り値
例
次の例では、登録済みの 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 の定義 |
草案 | 初期定義。 |
ブラウザー実装状況
現在、互換性データを可読形式の JSON フォーマットに置き換えているところです。
この互換性一覧は古い形式を使っており、これに含まれるデータの置き換えが済んでいません。
手助けしていただける場合は、こちらから!
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
基本サポート | 42.0 | 44.0 (44.0)[1] | 未対応 | ? | 未対応 |
機能 | Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
基本サポート | ? | 44.0 (44.0) | (有) | 未対応 | ? | 未対応 | 42.0 |
[1] Service worker(と Push)は、Firefox 45 延長サポート版(ESR)では使用できません。