Permissions - 提供了核心的权限 API 功能

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

PermissionsPermissions API 的接口,提供了核心的权限 API 功能,例如查询和撤销权限的方法。

方法

Permissions.query()

返回给定 API 的用户权限状态。

Permissions.request()

请求使用给定 API 的权限。目前,任何浏览器均不支持此功能。

Permissions.requestAll()

请求使用一组给定 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 的定义
工作草案 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持43 不支持46 不支持 支持 不支持
accelerometer 权限62 不支持 未知 不支持 未知 不支持
accessibility 事件权限62 不支持 未知 不支持 未知 不支持
ambient-light-sensor 权限62 不支持 未知 不支持 未知 不支持
accelerometer 权限62 不支持 未知 不支持 未知 不支持
camera 权限64 不支持 未知 不支持 未知 不支持
clipboard-read 权限64 不支持 不支持 不支持 未知 不支持
clipboard-write 权限64 不支持 不支持 不支持 未知 不支持
geolocation 权限43 不支持 未知 不支持30 不支持
background-sync 权限51 不支持 未知 不支持 未知 不支持
magnetometer 权限62 不支持 未知 不支持 未知 不支持
microphone 权限64 不支持 未知 不支持 未知 不支持
midi 权限43 不支持 未知 不支持30 不支持
notifications 权限43 不支持 未知 不支持30 不支持
payment-handler 权限66 不支持 未知 不支持 未知 不支持
persistent-storage 权限71 不支持53 不支持58 不支持
push 权限43 不支持 未知 不支持30 不支持
query43 不支持46 不支持 支持 不支持
request46 不支持 不支持 不支持 未知 不支持
requestAll48 不支持 不支持 不支持 未知 不支持
revoke46 不支持

51

47 — 51

不支持 未知 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持4343 未知46 未知 支持 不支持
accelerometer 权限6262 未知 未知 未知 未知 不支持
accessibility 事件权限6262 未知 未知 未知 未知 不支持
ambient-light-sensor 权限6262 未知 未知 未知 未知 不支持
accelerometer 权限6262 未知 未知 未知 未知 不支持
camera 权限6464 未知 未知 未知 未知 不支持
clipboard-read 权限6464 未知 不支持 未知 未知 不支持
clipboard-write 权限6464 未知 不支持 未知 未知 不支持
geolocation 权限 不支持43 未知 未知 未知30 不支持
background-sync 权限5151 未知 未知 未知 未知 不支持
magnetometer 权限6262 未知 未知 未知 未知 不支持
microphone 权限6464 未知 未知 未知 未知 不支持
midi 权限 不支持43 未知 未知 未知30 不支持
notifications 权限 不支持43 未知 未知 未知30 不支持
payment-handler 权限6666 未知 未知 未知 未知 不支持
persistent-storage 权限7171 未知53 未知50 不支持
push 权限 不支持43 未知 未知 未知30 不支持
query4343 未知46 未知 支持 不支持
request4646 未知 不支持 未知 未知 不支持
requestAll4848 未知 不支持 未知 未知 不支持
revoke4646 未知

51

47 — 51

未知 未知 不支持