Permissions - 提供了核心的权限 API 功能
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
Permissions
是 Permissions 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 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 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 | 不支持 |
query | 43 | 不支持 | 46 | 不支持 | 支持 | 不支持 |
request | 46 | 不支持 | 不支持 | 不支持 | 未知 | 不支持 |
requestAll | 48 | 不支持 | 不支持 | 不支持 | 未知 | 不支持 |
revoke | 46 | 不支持 | 51 47 — 51 | 不支持 | 未知 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 43 | 43 | 未知 | 46 | 未知 | 支持 | 不支持 |
accelerometer 权限 | 62 | 62 | 未知 | 未知 | 未知 | 未知 | 不支持 |
accessibility 事件权限 | 62 | 62 | 未知 | 未知 | 未知 | 未知 | 不支持 |
ambient-light-sensor 权限 | 62 | 62 | 未知 | 未知 | 未知 | 未知 | 不支持 |
accelerometer 权限 | 62 | 62 | 未知 | 未知 | 未知 | 未知 | 不支持 |
camera 权限 | 64 | 64 | 未知 | 未知 | 未知 | 未知 | 不支持 |
clipboard-read 权限 | 64 | 64 | 未知 | 不支持 | 未知 | 未知 | 不支持 |
clipboard-write 权限 | 64 | 64 | 未知 | 不支持 | 未知 | 未知 | 不支持 |
geolocation 权限 | 不支持 | 43 | 未知 | 未知 | 未知 | 30 | 不支持 |
background-sync 权限 | 51 | 51 | 未知 | 未知 | 未知 | 未知 | 不支持 |
magnetometer 权限 | 62 | 62 | 未知 | 未知 | 未知 | 未知 | 不支持 |
microphone 权限 | 64 | 64 | 未知 | 未知 | 未知 | 未知 | 不支持 |
midi 权限 | 不支持 | 43 | 未知 | 未知 | 未知 | 30 | 不支持 |
notifications 权限 | 不支持 | 43 | 未知 | 未知 | 未知 | 30 | 不支持 |
payment-handler 权限 | 66 | 66 | 未知 | 未知 | 未知 | 未知 | 不支持 |
persistent-storage 权限 | 71 | 71 | 未知 | 53 | 未知 | 50 | 不支持 |
push 权限 | 不支持 | 43 | 未知 | 未知 | 未知 | 30 | 不支持 |
query | 43 | 43 | 未知 | 46 | 未知 | 支持 | 不支持 |
request | 46 | 46 | 未知 | 不支持 | 未知 | 未知 | 不支持 |
requestAll | 48 | 48 | 未知 | 不支持 | 未知 | 未知 | 不支持 |
revoke | 46 | 46 | 未知 | 51 47 — 51 | 未知 | 未知 | 不支持 |