--- title: Permissions.query() slug: Web/API/Permissions/query tags: - API - Experimental - Method - Permissions - Reference translation_of: Web/API/Permissions/query ---
{{APIRef("Permissions API")}}{{SeeCompatTable}}
{{domxref("Permissions")}} インターフェイスの Permissions.query()
メソッドは、グローバルスコープに対するユーザーのパーミッションの状態を返します。
navigator.permissions.query(PermissionDescriptor).then(function(permissionStatus) { ... })
PermissionDescriptor
query
操作のオプションを設定するオブジェクト。 利用可能なオプションは次のとおりです。
name
: パーミッションを照会したい API の名前。 有効な値は 'accelerometer'
、'accessibility-events'
、'ambient-light-sensor'
、'background-sync'
、'camera'
、'clipboard-read'
、'clipboard-write'
、'geolocation'
、'gyroscope'
、'magnetometer'
、'microphone'
、'midi'
、'notifications'
、'payment-handler'
、'persistent-storage'
、'push
' です。userVisibleOnly
: (Push のみ。 Firefox はサポートしていません。 下記のブラウザーの互換性のセクションを参照してください)すべてのメッセージについて通知を表示するか、サイレントプッシュ通知を送信できるかを示します。 デフォルトは false
です。sysex
: (Midi のみ)システムエクスクルーシブメッセージが必要か受信するかどうかを示します。 デフォルトは false
です。注: Firefox 44 以降、Notifications と Push のパーミッションは統合されました。 (例えば、ユーザーによって、関連するパーミッションのダイアログにより)パーミッションが与えられた場合、navigator.permissions.query()
は notifications
と push
の両方に対して true
を返します。
注: persistent-storage
パーミッションは、Storage API のとおりに、オリジンがそのストレージとして永続的ボックス(すなわち永続的ストレージ(persistent storage))を使用することを許可します。
{{domxref("PermissionStatus")}} オブジェクトに解決される {{jsxref("Promise")}}。
例外 | 説明 |
---|---|
TypeError |
PermissionDescriptor 情報の取得が何らかの理由で失敗したか、パーミッションが存在しないか現在サポートされていません(例えば、midi 、または userVisibleOnly と一緒の push で)。 |
navigator.permissions.query({name:'geolocation'}).then(function(result) { if (result.state == 'granted') { showLocalNewsWithGeolocation(); } else if (result.state == 'prompt') { showButtonToEnableLocalNews(); } // パーミッションが拒否された場合は何もしないでください。 });
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Permissions API','#dom-permissions-query','query()')}} | {{Spec2('Permissions API')}} | 初期定義 |
{{Compat("api.Permissions.query")}}