--- 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) { ... })
PermissionDescriptorquery 操作のオプションを設定するオブジェクト。 利用可能なオプションは次のとおりです。
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")}}