Permissions.query()

Permissions.query()Permissions インターフェイスのメソッドで、グローバルスコープに対するユーザーの権限の状態を返します。

構文

js
query(permissionDescriptor)

引数

permissionDescriptor

名前と値のペアのカンマ区切りリストで構成される、query 操作のオプションを設定するオブジェクト。 利用可能なオプションは次のとおりです。

name

権限を照会したい API の名前です。対応している値の集合はブラウザーごとに異なります。 Firefox の値はこちら、 Chromium の値はこちら、 WebKit の値はこちらにあります。

userVisibleOnly

(Push のみ。 Firefox は対応していません。 下記のブラウザーの互換性の節を参照してください)すべてのメッセージについて通知を表示するか、サイレントプッシュ通知を送信できるかを示します。 既定値は false です。

sysex (Midi のみ)

システムエクスクルーシブメッセージが必要か受信するかどうかを示します。 既定値は false です。

メモ: Firefox 44 以降、通知プッシュの権限が統合されました。 (例えば、ユーザーによって、関連する権限のダイアログにより)権限が与えられた場合、 navigator.permissions.query()notificationspush の両方に対して true を返します。

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

返値

Promise で、 PermissionStatus オブジェクトに解決します。

例外

例外 説明
TypeError PermissionDescriptor 情報の取得が何らかの理由で失敗したか、その権限が存在しないか、現在対応していない(例えば midiuserVisibleOnly 付きの push など)。

js
navigator.permissions.query({ name: "geolocation" }).then((result) => {
  if (result.state === "granted") {
    showLocalNewsWithGeolocation();
  } else if (result.state === "prompt") {
    showButtonToEnableLocalNews();
  }
  // 権限が拒否された場合は何もしないでください。
});

仕様書

Specification
Permissions
# dom-permissions-query

ブラウザーの互換性

BCD tables only load in the browser