PermissionStatus:state 属性

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

We'd love to hear more about your role and the company you work for
Please help us by answering a few questions.

备注: 此特性在 Web Worker 中可用。

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

以下值之一:

'granted'

用户或代表用户的用户代理已明确许可使用此技术特性。调用者可以使用该特性,而无需用户代理请求用户的许可。

'denied'

用户或代表用户的用户代理已拒绝访问此技术特性。调用者无法使用该特性。

'prompt'

用户未明确授予使用该特性的权限(即与拒绝相同)。这还意味着,如果调用者尝试使用该特性,用户代理将提示用户授予许可,否则对该特性的访问将被拒绝。

示例

js
navigator.permissions
  .query({ name: "geolocation" })
  .then((permissionStatus) => {
    console.log(`geolocation 权限状态为 ${permissionStatus.state}`);
    permissionStatus.onchange = () => {
      console.log(`geolocation 权限状态已更改为 ${permissionStatus.state}`);
    };
  });

规范

Specification
Permissions
# dom-permissionstatus-state

浏览器兼容性