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

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