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 Navigator.permissions read-only property returns a Permissions object that can be used to query and update permission status of APIs covered by the Permissions API.


permissionsObj = globalObj.navigator.permissions


A Permissions object.


navigator.permissions.query({name:'geolocation'}).then(function(result) {
  if (result.state === 'granted') {
  } else if (result.state === 'prompt') {
  // Don't do anything if the permission was denied.


Specification Status Comment
Permissions API Editor's Draft Initial definition.

Browser Support

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 43.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) ?[1] ? ? ? 43.0

[1] Firefox OS currently uses its own proprietary Permissions API, which works in a different way: see Permissions API (Firefox OS).

See also

Document Tags and Contributors

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