Permissions
permissions は Navigator インターフェイスの読み取り専用プロパティで、権限 API の対象となる API のパーミッションの状態を照会および更新するために使用できる Permissions オブジェクトを返します。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| 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 |
- ブラウザの実験的フラグを有効にする必要があります
- ブラウザの実験的フラグを有効にする必要があります
- ブラウザの実験的フラグを有効にする必要があります
- このブラウザでは部分的にしか実装されていません
- `onchange` イベントハンドラはサポートされていますが、このイベントは決して発生しません。バグ 259432 を参照してください。
- このブラウザでは部分的にしか実装されていません
- `onchange` イベントハンドラはサポートされていますが、このイベントは決して発生しません。バグ 259432 を参照してください。
- このバージョンで機能が削除されました (44)
- 以前は別名で対応していました: status (43)
- このバージョンで機能が削除されました (44)
- 以前は別名で対応していました: status (43)
基本構文
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) やユーザー操作起点を必要とする。利用前に要件を確認すること。