PermissionStatus: state property
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.
Note: This feature is available in Web Workers.
The state read-only property of the PermissionStatus interface returns the state of a requested permission. This property returns one of 'granted', 'denied', or 'prompt'.
Value
One of the following:
'granted'-
The user, or the user agent on the user's behalf, has given express permission to use a powerful feature. The caller can use the feature possibly without having the user agent ask the user's permission.
'denied'-
The user, or the user agent on the user's behalf, has denied access to this powerful feature. The caller can't use the feature.
'prompt'-
The user has not given express permission to use the feature (i.e., it's the same as denied). It also means that if a caller attempts to use the feature, the user agent will either be prompting the user for permission or access to the feature will be denied.
Examples
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}`, ); }; }); Specifications
| Specification |
|---|
| Permissions> # dom-permissionstatus-state> |