--- title: Permissions.revoke() slug: Web/API/Permissions/revoke tags: - API - Experimental - Method - Permissions - Permissions API - Reference - revoke translation_of: Web/API/Permissions/revoke ---
{{APIRef("Permissions API")}}{{SeeCompatTable}}
{{domxref("Permissions")}} インターフェイスの Permissions.revoke() メソッドは、現在設定されているパーミッションをデフォルト状態(通常は prompt)に戻します。
このメソッドは、グローバルな {{domxref("Permissions")}} オブジェクトである {{domxref("navigator.permissions")}} に対して呼び出します。
var revokePromise = navigator.permissions.revoke(descriptor);
descriptorPermissionDescriptor ディクショナリに基づくオブジェクト。 利用可能なオプションは次のとおりです。
name: パーミッションを照会したい API の名前。 有効な値は、'geolocation'、'midi'、'notifications'、'push' です。userVisibleOnly: Push のみ。 Firefox はサポートしていません。 下記の{{anch("Browser compatibility","ブラウザーの互換性")}}のセクションを参照してください)すべてのメッセージについて通知を表示するか、サイレントプッシュ通知を送信できるかを示します。 デフォルトは false です。sysex: (MIDI のみ)システムエクスクルーシブメッセージが必要か受信するかどうかを示します。 デフォルトは false です。注: Firefox 44 以降、Notifications と Push のパーミッションは統合されました。 (例えば、ユーザーによって、関連するパーミッションのダイアログにより)パーミッションが与えられた場合、navigator.permissions.query() は notifications と push の両方に対して true を返します。
注: persistent-storage パーミッションは、Storage API のとおりに、オリジンがそのストレージとして永続的ボックス(すなわち永続的ストレージ(persistent storage))を使用することを許可します。
要求の結果を示す {{domxref("PermissionStatus")}} オブジェクトと共に成功ハンドラを呼び出す {{jsxref("Promise")}}。
TypeErrorPermissionDescriptor 情報の取得が何らかの理由で失敗したか、アクセス権が存在しないか現在サポートされていません(例えば、midi、または userVisibleOnly と一緒の push で)。この関数をアプリで使用して、それが有する Geolocation API のパーミッションを取り消すように要求できます。
function revokePermission() {
navigator.permissions.revoke({name:'geolocation'}).then(function(result) {
report(result.state);
});
}
| 仕様 | 状態 | コメント |
|---|---|---|
| {{SpecName('Permissions API','#dom-permissions-revoke','revoke()')}} | {{Spec2('Permissions API')}} | 初期定義 |
{{Compat("api.Permissions.revoke")}}