Web/API/PermissionStatus

From Get docs

This is an experimental technologyCheck 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.state Read 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 with PermissionStatus.state.

Event Handler

PermissionStatus.onchange
An event called whenever PermissionStatus.status changes.

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
PermissionsThe definition of 'PermissionStatus' in that specification. Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

PermissionStatus

Experimental'

Chrome

Full support 43

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 43

Firefox Android

Full support 46

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android

Full support 4.0

onchange

Experimental'

Chrome

Full support 43

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 43

Firefox Android

Full support 46

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android

Full support 4.0

state

Experimental'

Chrome Full support 44


Full support 44


No support 43 — 44

Alternate Name'

Alternate Name' Uses the non-standard name: status

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'

Alternate Name' Uses the non-standard name: status

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.