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> |
Browser compatibility
Loading…