Permissions

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

Permissions APIPermissions インターフェイスは、パーミッションの照会および取り消しのためのメソッドなど、コアとなる Permission API 機能を提供します。

メソッド

Permissions.query()
特定の API のパーミッションの状態を返します。
Permissions.request()
特定の API を使用するパーミッションを要求します。 これは現在どのブラウザーもサポートしていません。
Permissions.revoke()
特定の API に現在設定されているパーミッションを取り消します。

navigator.permissions.query({name:'geolocation'}).then(function(result) {
  if (result.state == 'granted') {
    showLocalNewsWithGeolocation();
  } else if (result.state == 'prompt') {
    showButtonToEnableLocalNews();
  }
  // パーミッションが拒否された場合は何もしないでください。
});

仕様

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

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
PermissionsChrome 完全対応 43Edge 未対応 なしFirefox 完全対応 46IE 未対応 なしOpera 完全対応 ありSafari 未対応 なしWebView Android 完全対応 43Chrome Android 完全対応 43Firefox Android 完全対応 46Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 あり
accelerometer permissonChrome 完全対応 62Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 62Chrome Android 完全対応 62Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
accessibility events permissonChrome 完全対応 62Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 62Chrome Android 完全対応 62Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
ambient-light-sensor permissonChrome 完全対応 62Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 62Chrome Android 完全対応 62Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
accelerometer permissonChrome 完全対応 62Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 62Chrome Android 完全対応 62Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
camera permissionChrome 完全対応 64Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 64Chrome Android 完全対応 64Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
clipboard-read permissonChrome 完全対応 64Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 64Chrome Android 完全対応 64Firefox Android 未対応 なしOpera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
clipboard-write permissionChrome 完全対応 64Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 64Chrome Android 完全対応 64Firefox Android 未対応 なしOpera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
geolocation permissionChrome 完全対応 43Edge 未対応 なしFirefox ? IE 未対応 なしOpera 完全対応 30Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 43Firefox Android ? Opera Android 完全対応 30Safari iOS 未対応 なしSamsung Internet Android ?
background-sync permissionChrome 完全対応 51Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 51Chrome Android 完全対応 51Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
magnetometer permissionChrome 完全対応 62Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 62Chrome Android 完全対応 62Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
microphone permissionChrome 完全対応 64Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 64Chrome Android 完全対応 64Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
midi permissionChrome 完全対応 43Edge 未対応 なしFirefox ? IE 未対応 なしOpera 完全対応 30Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 43Firefox Android ? Opera Android 完全対応 30Safari iOS 未対応 なしSamsung Internet Android ?
notifications permissionChrome 完全対応 43Edge 未対応 なしFirefox ? IE 未対応 なしOpera 完全対応 30Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 43Firefox Android ? Opera Android 完全対応 30Safari iOS 未対応 なしSamsung Internet Android ?
payment-handler permissionChrome 完全対応 66Edge 未対応 なしFirefox ? IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 66Chrome Android 完全対応 66Firefox Android ? Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
persistent-storage permissionChrome 完全対応 71Edge 未対応 なしFirefox 完全対応 53IE 未対応 なしOpera 完全対応 58Safari 未対応 なしWebView Android 完全対応 71Chrome Android 完全対応 71Firefox Android 完全対応 53Opera Android 完全対応 50Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
push permissionChrome 完全対応 43Edge 未対応 なしFirefox ? IE 未対応 なしOpera 完全対応 30Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 43Firefox Android ? Opera Android 完全対応 30Safari iOS 未対応 なしSamsung Internet Android ?
queryChrome 完全対応 43Edge 未対応 なしFirefox 完全対応 46IE 未対応 なしOpera 完全対応 ありSafari 未対応 なしWebView Android 完全対応 43Chrome Android 完全対応 43Firefox Android 完全対応 46Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 あり
request
実験的非標準
Chrome 完全対応 46Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 46Chrome Android 完全対応 46Firefox Android 未対応 なしOpera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
requestAll
実験的非標準
Chrome 完全対応 48Edge 未対応 なしFirefox 未対応 なしIE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 48Chrome Android 完全対応 48Firefox Android 未対応 なしOpera Android ? Safari iOS 未対応 なしSamsung Internet Android ?
revoke
実験的非標準
Chrome 完全対応 46Edge 未対応 なしFirefox 完全対応 51
無効
完全対応 51
無効
無効 From version 51: this feature is behind the dom.permissions.revoke.enable preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 47 — 51
IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 完全対応 46Chrome Android 完全対応 46Firefox Android 完全対応 51
無効
完全対応 51
無効
無効 From version 51: this feature is behind the dom.permissions.revoke.enable preference (needs to be set to true). To change preferences in Firefox, visit about:config.
未対応 47 — 51
Opera Android ? Safari iOS 未対応 なしSamsung Internet Android ?

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。