Navigator.permissions

Experimental

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

permissions 是 Navigator 读属性,返回一个可用于查询或更新某些APIs(由Permissions API覆盖)的权限状态的对象。

语法

permissionsObj = globalObj.navigator.permissions

一个 Permissions 对象。

例子

navigator.permissions.query({name:'geolocation'}).then(function(result) {
  if (result.state === 'granted') {
    showMap();
  } else if (result.state === 'prompt') {
    showButtonToEnableMap();
  }
  // 如果被拒绝,请不要做任何操作。
});

规范

规范 状态 备注
Permissions Working Draft 初始化定义

浏览器支持

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! (en-US)
功能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基础支持 43.0 46 (46) ? ? ?
功能 Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
基础支持 未实现 43.0 46.0 (46) ?[1] ? ? ? 43.0

[1] Firefox OS 现在采用自己的具有特殊工作方式的 Permissions API:参见  Permissions API (Firefox OS).

参见