ServiceWorkerRegistration.unregister()

ServiceWorkerRegistration インターフェイスの unregister() メソッドは、サービスワーカー登録を登録解除し、Promise を返します。 登録が見つからなかった場合、Promise は false に解決されます。 それ以外の場合は、登録解除したかどうかに関係なく、true に解決されます(誰かが同じスコープで ServiceWorkerContainer.register() をちょうど呼び出した場合は登録解除されない場合があります)。 サービスワーカーは、登録解除される前に進行中の操作を完了します。

: この機能は Web Worker で使用できます。

構文

serviceWorkerRegistration.unregister().then(function(boolean) {
});

パラメーター

なし。

戻り値

Promise は、サービスワーカーが登録解除されているかどうかを示すブール値で解決します。

次の簡単な例では、サービスワーカーの例を登録していますが、すぐに再び登録を解除しています。

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw-test/sw.js', {scope: 'sw-test'}).then(function(registration) {
    // 登録しました
    console.log('登録に成功しました。');
    registration.unregister().then(function(boolean) {
      // boolean = true ならば、登録解除は成功
    });
  }).catch(function(error) {
    // 登録に失敗しました
    console.log('登録に失敗しました:' + error);
  });
};

仕様

仕様 状態 コメント
Service Workers
ServiceWorkerRegistration.unregister() の定義
草案 初期定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
unregister
実験的
Chrome 完全対応 40Edge 完全対応 17
完全対応 17
完全対応 16
無効
無効 From version 16: this feature is behind the Enable service workers preference.
Firefox 完全対応 44
補足
完全対応 44
補足
補足 Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE 未対応 なしOpera 完全対応 27Safari 完全対応 11.1WebView Android 完全対応 40Chrome Android 完全対応 40Firefox Android 完全対応 44Opera Android 完全対応 27Safari iOS 完全対応 11.3Samsung Internet Android 完全対応 4.0

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報