PermissionStatus - 提供了一个对象的许可状态和更改事件

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

PermissionStatusPermissions 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 的定义
工作草案 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持43 不支持46 不支持 支持 不支持
onchange43 不支持46 不支持 支持 不支持
state

44

43 — 441

不支持46 不支持 支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持43 未知46 未知 支持 不支持
onchange 不支持43 未知46 未知 支持 不支持
state 不支持

44

43 — 441

未知46 未知 支持 不支持

1. 通过 status 支持。