PermissionStatus - 提供了一个对象的许可状态和更改事件
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
PermissionStatus
是 Permissions API 的接口,提供了一个对象的许可状态和一个事件处理程序,用于监视对该状态的更改。
属性
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 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 43 | 不支持 | 46 | 不支持 | 支持 | 不支持 |
onchange | 43 | 不支持 | 46 | 不支持 | 支持 | 不支持 |
state | 44 43 — 441 | 不支持 | 46 | 不支持 | 支持 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持 | 43 | 未知 | 46 | 未知 | 支持 | 不支持 |
onchange | 不支持 | 43 | 未知 | 46 | 未知 | 支持 | 不支持 |
state | 不支持 | 44 43 — 441 | 未知 | 46 | 未知 | 支持 | 不支持 |
1. 通过 status
支持。