Widely available すべての主要ブラウザで対応済み。安心して使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
43
79
46
16
43
16

Permissions は権限 API のインターフェイスで、権限の照会や取り消しのためのメソッドなど、中心となる権限 API の機能を提供します。

43
79
46
16
43
16

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

43
79
46
16
43
16
request
実験的
46
79
46

PermissionStatus は権限 API のインターフェイスで、オブジェクトの状態と、その状態の変化を監視するためのイベントハンドラーを提供します。

43
79
46
16
43
16

change は PermissionStatus インターフェイスイベントで、PermissionStatus.state プロパティが変化するたびに発行されます。

43
79
46
16.4
43
16.4

name は PermissionStatus インターフェイスの読み取り専用プロパティで、要求された権限の名前を返します。

97
97
93
16
97
16

state は PermissionStatus インターフェイスの読み取り専用プロパティで、要求された権限の状態を返します。 このプロパティは、'granted'(許可)、'denied'(拒否)、'prompt'(プロンプト)のいずれかを返します。

44
79
46
16
44
16

WorkerNavigator.permissions は読み取り専用のプロパティで、 Permissions オブジェクトを返します。これは権限 API に応じた API の許可状況を照会・更新するために使用することができます。

43
79
133
16.4
43
16.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 1件
実験的機能
  • ブラウザの実験的フラグを有効にする必要があります
注釈 1件
実験的機能
  • ブラウザの実験的フラグを有効にする必要があります
注釈 1件
実験的機能
  • ブラウザの実験的フラグを有効にする必要があります
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • `onchange` イベントハンドラはサポートされていますが、このイベントは決して発生しません。バグ 259432 を参照してください。
注釈 2件
制限事項
  • このブラウザでは部分的にしか実装されていません
実装メモ
  • `onchange` イベントハンドラはサポートされていますが、このイベントは決して発生しません。バグ 259432 を参照してください。
注釈 2件
削除済み
  • このバージョンで機能が削除されました (44)
対応条件
  • 以前は別名で対応していました: status (43)
注釈 2件
削除済み
  • このバージョンで機能が削除されました (44)
対応条件
  • 以前は別名で対応していました: status (43)

基本構文

JAVASCRIPT
navigator.permissions.query({ name: "geolocation" }).then((result) => {
  if (result.state === "granted") {
    showMap();
  } else if (result.state === "prompt") {
    showButtonToEnableMap();
  }
  // Don't do anything if the permission was denied.
});

実務での使いどころ

  • Permissions の活用

    permissions は Navigator インターフェイスの読み取り専用プロパティで、権限 API の対象となる API のパーミッションの状態を照会および更新するために使用できる Permissions オブジェクトを返します。

注意点

  • 古いブラウザでは対応していない場合がある。

実装メモ

  • 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。