This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

The PermissionStatus.state read-only property of the PermissionStatus interface returns the state of a requested permission. This property returns one of 'granted''denied', or 'prompt'.


var permission = PermissionStatus.state


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 Status Comment
Permissions API
The definition of 'state' in that specification.
Editor's Draft Initial definition.

Browser Support

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 44.0 46 (46) ? ? ?
Feature Android Chrome Mobile Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support No support 44.0 46.0 (46) ? ? ? ? 44.0

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, jpmedley
 Last updated by: chrisdavidmills,