This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The PermissionStatus interface of the Permissions API provides the state of an object and an event handler for monitoring changes to said state.
Properties
PermissionStatus.stateRead only- Returns the state of a requested permission; one of
'granted','denied', or'prompt'. PermissionStatus.statusRead only- Returns the state of a requested permission; one of
'granted','denied', or'prompt'. Later versions of the specification replace this withPermissionStatus.state.
Event Handler
PermissionStatus.onchange- An event called whenever
PermissionStatus.statuschanges.
Example
navigator.permissions.query({name:'geolocation'}).then(function(permissionStatus) {
console.log('geolocation permission status is ', permissionStatus.state);
permissionStatus.onchange = function() {
console.log('geolocation permission status has changed to ', this.state);
};
});
Specification
| Specification | Status | Comment |
|---|---|---|
| Permissions The definition of 'PermissionStatus' in that specification. |
Working Draft | Initial definition. |
Browser Support
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | 43.0 | 46 (46) | ? | ? | ? |
| status | Deprecated in 44 | ||||
| state | 44.0 | 46 (46) |
| Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|---|
| Basic support | No support | 43.0 | 46.0 (46) | ? | ? | ? | ? | 43.0 |
| status | Deprecated in 44 | Deprecated in 44 | ||||||
| state | 44.0 | 46.0 (46) | 44.0 |