This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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
The definition of 'state' 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 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,