Permissions

这是 实验性技术
检查 浏览器兼容性表格 在生产中使用这之前。

The Permissions interface of the 权限 API provides the core Permission API functionality, such as methods for querying and revoking permissions

方法

Permissions.query()
Returns the user permission status for a given API.
Permissions.request()
Requests permission to use a given API. This is not currently supported in any browser.
Permissions.requestAll()
Requests permission to use a given set of APIs. This is not currently supported in any browser.
Permissions.revoke()
Revokes the permission currently set on a given API.

范例

navigator.permissions.query({name:'geolocation'}).then(function(result) {
  if (result.state === 'granted') {
    showLocalNewsWithGeolocation();
  } else if (result.state === 'prompt') {
    showButtonToEnableLocalNews();
  }
  // Don't do anything if the permission was denied.
});
					

规范

规范 状态 Comment
Permissions
The definition of 'Permissions' in that specification.
工作草案 初始定义。

Browser Support

更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
Permissions Chrome 43 Edge 79 Firefox 46 IE 不支持 No Opera Yes Safari 不支持 No WebView Android 43 Chrome Android 43 Firefox Android 46 Opera Android Yes Safari iOS 不支持 No Samsung Internet Android 4.0
accelerometer permission Chrome 62 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 62 Chrome Android 62 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 8.0
accessibility-events permission Chrome 62 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 62 Chrome Android 62 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 8.0
ambient-light-sensor permission Chrome 62 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 62 Chrome Android 62 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 8.0
background-sync permission Chrome 62 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 62 Chrome Android 62 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 8.0
camera permission Chrome 64 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 64 Chrome Android 64 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 9.0
clipboard-read permission Chrome 64 Edge 79 Firefox 不支持 No IE 不支持 No Opera ? Safari 不支持 No WebView Android 64 Chrome Android 64 Firefox Android 不支持 No Opera Android ? Safari iOS 不支持 No Samsung Internet Android 9.0
clipboard-write permission Chrome 64 Edge 79 Firefox 不支持 No IE 不支持 No Opera ? Safari 不支持 No WebView Android 64 Chrome Android 64 Firefox Android 不支持 No Opera Android ? Safari iOS 不支持 No Samsung Internet Android 9.0
geolocation permission Chrome 43 Edge 79 Firefox ? IE 不支持 No Opera 30 Safari 不支持 No WebView Android 不支持 No Chrome Android 43 Firefox Android ? Opera Android 30 Safari iOS 不支持 No Samsung Internet Android 4.0
gyroscope permission Chrome 51 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 51 Chrome Android 51 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 5.0
magnetometer permission Chrome 62 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 62 Chrome Android 62 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 8.0
microphone permission Chrome 64 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 64 Chrome Android 64 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 9.0
midi permission Chrome 43 Edge 79 Firefox ? IE 不支持 No Opera 30 Safari 不支持 No WebView Android 不支持 No Chrome Android 43 Firefox Android ? Opera Android 30 Safari iOS 不支持 No Samsung Internet Android 4.0
notifications permission Chrome 43 Edge 79 Firefox ? IE 不支持 No Opera 30 Safari 不支持 No WebView Android 不支持 No Chrome Android 43 Firefox Android ? Opera Android 30 Safari iOS 不支持 No Samsung Internet Android 4.0
payment-handler permission Chrome 66 Edge 79 Firefox ? IE 不支持 No Opera ? Safari 不支持 No WebView Android 66 Chrome Android 66 Firefox Android ? Opera Android ? Safari iOS 不支持 No Samsung Internet Android 9.0
persistent-storage permission Chrome 71 Edge 79 Firefox 53 IE 不支持 No Opera 58 Safari 不支持 No WebView Android 71 Chrome Android 71 Firefox Android 53 Opera Android 50 Safari iOS 不支持 No Samsung Internet Android 10.0
push permission Chrome 43 Edge 79 Firefox ? IE 不支持 No Opera 30 Safari 不支持 No WebView Android 不支持 No Chrome Android 43 Firefox Android ? Opera Android 30 Safari iOS 不支持 No Samsung Internet Android 4.0
query Chrome 43 Edge 79 Firefox 46 IE 不支持 No Opera Yes Safari 不支持 No WebView Android 43 Chrome Android 43 Firefox Android 46 Opera Android Yes Safari iOS 不支持 No Samsung Internet Android 4.0
request
非标
Chrome 46 Edge 79 Firefox 不支持 No IE 不支持 No Opera ? Safari 不支持 No WebView Android 46 Chrome Android 46 Firefox Android 不支持 No Opera Android ? Safari iOS 不支持 No Samsung Internet Android 5.0
requestAll
非标
Chrome 48 Edge 79 Firefox 不支持 No IE 不支持 No Opera ? Safari 不支持 No WebView Android 48 Chrome Android 48 Firefox Android 不支持 No Opera Android ? Safari iOS 不支持 No Samsung Internet Android 5.0
revoke
非标
Chrome 46 Edge 79 Firefox 51
Disabled
51
Disabled
Disabled 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 不支持 No Opera ? Safari 不支持 No WebView Android 46 Chrome Android 46 Firefox Android 51
Disabled
51
Disabled
Disabled 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 不支持 No Samsung Internet Android 5.0

图例

完整支持
完整支持
不支持
不支持
兼容性未知
兼容性未知
实验。期望将来行为有所改变。
实验。期望将来行为有所改变。
非标。预期跨浏览器支持较差。
用户必须明确启用此特征。
用户必须明确启用此特征。