PermissionStatus: state 属性

Baseline 已广泛支持

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

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

statePermissionStatus 接口的一个只读属性,它返回所请求权限的状态。此属性返回 'granted''denied''prompt' 之一。

以下之一:

'granted'

用户或用户代理代表用户明确授予了使用 强大功能 的权限。调用者可以使用该功能,可能无需用户代理再次请求用户许可。

'denied'

用户或用户代理代表用户拒绝了对该 强大功能 的访问。调用者无法使用该功能。

'prompt'

用户尚未明确授予使用该功能的权限(即与 denied 相同)。这也意味着如果调用者尝试使用该功能,用户代理将提示用户请求权限,否则将拒绝访问该功能。

示例

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

规范

规范
Permissions
# dom-permissionstatus-state

浏览器兼容性