PermissionStatus

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上运行。自 2022 年 9 月起,所有浏览器都已支持此功能。

注意:此功能在 Web Workers 中可用。

PermissionStatus 接口属于 Permissions API,它提供了一个对象的状态,以及一个用于监控该状态变化的事件处理程序。

EventTarget PermissionStatus

实例属性

PermissionStatus.name 只读

返回所请求权限的名称,与传递给 Permissions.queryname 相同。

PermissionStatus.state 只读

返回所请求权限的状态;可以是 'granted'(已授予)、'denied'(已拒绝)或 'prompt'(提示)。

事件

change

PermissionStatus.state 发生变化时调用。

示例

js
navigator.permissions
  .query({ name: "geolocation" })
  .then((permissionStatus) => {
    console.log(`geolocation permission status is ${permissionStatus.state}`);
    permissionStatus.onchange = () => {
      console.log(
        `geolocation permission status has changed to ${permissionStatus.state}`,
      );
    };
  });

规范

规范
Permissions
# permissionstatus-interface

浏览器兼容性