PermissionStatus

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

Permissions APIPermissionStatus インターフェイスは、オブジェクトの状態と、その状態への変更を監視するためのイベントハンドラを提供します。

プロパティ

PermissionStatus.state 読取専用
要求されたパーミッションの状態を返します。 'granted'(付与)、'denied'(拒否)、'prompt'(プロンプト)のいずれかです。
PermissionStatus.status読取専用
要求されたパーミッションの状態を返します。 'granted''denied''prompt' のいずれかです。 仕様の今後のバージョンは、これを PermissionStatus.state に置き換えます。

イベントハンドラ

PermissionStatus.onchange
PermissionStatus.status が変わるたびに呼び出されるイベント。

navigator.permissions.query({name:'geolocation'}).then(function(permissionStatus) {
  console.log('位置情報のパーミッションの状態は ' + permissionStatus.state + ' です。');
  permissionStatus.onchange = function() {
    console.log('位置情報のパーミッションの状態が ' + this.state + ' に変更されました。');
  };
});

仕様

仕様 状態 コメント
Permissions
PermissionStatus の定義
草案 初期定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
PermissionStatus
実験的
Chrome 完全対応 43Edge ? Firefox 完全対応 46IE ? Opera 完全対応 ありSafari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 43Firefox Android 完全対応 46Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 あり
onchange
実験的
Chrome 完全対応 43Edge ? Firefox 完全対応 46IE ? Opera 完全対応 ありSafari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 43Firefox Android 完全対応 46Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 あり
state
実験的
Chrome 完全対応 44
完全対応 44
未対応 43 — 44
代替名
代替名 非標準の名前 status を使用しています。
Edge ? Firefox 完全対応 46IE ? Opera 完全対応 ありSafari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 44
完全対応 44
未対応 43 — 44
代替名
代替名 非標準の名前 status を使用しています。
Firefox Android 完全対応 46Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準の名前を使用しています。
非標準の名前を使用しています。