PermissionStatus: state property
Baseline 2022
Newly available
Since September 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
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
BCD tables only load in the browser