This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.
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'
.
Syntax
var permission = PermissionStatus.state;
Example
navigator.permissions.query({name:'geolocation'}).then(function(permissionStatus) {
console.log('geolocation permission state is ', permissionStatus.state);
permissionStatus.onchange = function() {
console.log('geolocation permission status has changed to ', this.state);
};
});
Specification
Specification | Status | Comment |
PermissionsThe definition of 'state' in that specification. | Working Draft | Initial definition. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome Full support 44 Full support 44 No support 43 — 44 Alternate Name' Uses the non-standard name: |
Edge
Full support 79 |
Firefox
Full support 46 |
IE
No support No |
Opera
Full support Yes |
Safari
No support No |
WebView Android
No support No |
Chrome Android Full support 44 Full support 44 No support 43 — 44 Alternate Name' Uses the non-standard name: |
Firefox Android
Full support 46 |
Opera Android
Full support Yes |
Safari iOS
No support No |
Samsung Internet Android
Full support 4.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.'
- Experimental. Expect behavior to change in the future.
- Uses a non-standard name.'
- Uses a non-standard name.
PermissionStatus.state by Mozilla Contributors is licensed under CC-BY-SA 2.5.