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

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 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) ? ? ?
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,