Permissions.revoke()

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

Permissions インターフェイスの Permissions.revoke() メソッドは、現在設定されているパーミッションをデフォルト状態(通常は prompt)に戻します。

構文

このメソッドは、グローバルな Permissions オブジェクトである navigator.permissions に対して呼び出します。

var revokePromise = navigator.permissions.revoke(descriptor);

パラメーター

descriptor
名前と値のペアのコンマ区切りリストで構成される、操作のオプションを設定する PermissionDescriptor ディクショナリに基づくオブジェクト。 利用可能なオプションは次のとおりです。
  • name: パーミッションを照会したい API の名前。 有効な値は、'geolocation''midi''notifications''push' です。
  • userVisibleOnly: Push のみ。 Firefox はサポートしていません。 下記のブラウザーの互換性のセクションを参照してください)すべてのメッセージについて通知を表示するか、サイレントプッシュ通知を送信できるかを示します。 デフォルトは false です。
  • sysex: (MIDI のみ)システムエクスクルーシブメッセージが必要か受信するかどうかを示します。 デフォルトは false です。

: Firefox 44 以降、NotificationsPush のパーミッションは統合されました。 (例えば、ユーザーによって、関連するパーミッションのダイアログにより)パーミッションが与えられた場合、navigator.permissions.query()notificationspush の両方に対して true を返します。

: persistent-storage パーミッションは、Storage API のとおりに、オリジンがそのストレージとして永続的ボックス(すなわち永続的ストレージ(persistent storage))を使用することを許可します。

戻り値

要求の結果を示す PermissionStatus オブジェクトと共に成功ハンドラを呼び出す Promise

例外

TypeError
PermissionDescriptor 情報の取得が何らかの理由で失敗したか、アクセス権が存在しないか現在サポートされていません(例えば、midi、または userVisibleOnly と一緒の push で)。

この関数をアプリで使用して、それが有する Geolocation API のパーミッションを取り消すように要求できます。

function revokePermission() {
  navigator.permissions.revoke({name:'geolocation'}).then(function(result) {
    report(result.state);
  });
}

仕様

仕様 状態 コメント
Permissions
revoke() の定義
草案 初期定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
revoke
実験的非標準
Chrome 完全対応 46Edge ? Firefox 完全対応 51
無効
完全対応 51
無効
無効 From version 51: this feature is behind the dom.permissions.revoke.enable preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 47 — 51
IE ? Opera ? Safari 未対応 なしWebView Android 完全対応 46Chrome Android 完全対応 46Firefox Android 完全対応 51
無効
完全対応 51
無効
無効 From version 51: this feature is behind the dom.permissions.revoke.enable preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 47 — 51
Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。