权限:revoke() 方法
注意:此功能在Web Workers中可用。
已弃用:不再推荐使用此功能。虽然某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,或者正在被删除,或者仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅本页面底部的兼容性表格以指导您的决策。请注意,此功能可能随时停止工作。
revoke()
是 Permissions
接口的方法,它将当前设置的权限恢复到其默认状态,通常为 prompt
。此方法在全局 Permissions
对象 navigator.permissions
上调用。
此方法已从主要权限 API 规范中删除,因为它用例不明确。权限由浏览器管理,当前的权限模型不涉及网站开发者能够强制请求或撤销权限。浏览器已在首选项后面发布了此 API,但它不太可能进入标准轨道。有关更多上下文,请参阅删除 permissions.revoke()
的原始讨论。
语法
revoke(descriptor)
参数
descriptor
-
基于
PermissionDescriptor
字典的对象,用于设置操作选项,该选项由一个逗号分隔的名称-值对列表组成。可用的选项是name
-
要查询其权限的 API 的名称。每个浏览器都支持一组不同的值。您可以查阅Firefox 值、Chromium 值和WebKit 值。
userVisibleOnly
-
(仅限推送,Firefox 不支持 - 请参阅下面的浏览器兼容性部分) 指示您是否要为每条消息显示通知或能够发送静默推送通知。默认值为
false
。 sysex
(仅限 MIDI)-
指示您是否需要和/或接收系统独占消息。默认值为
false
。
注意:从 Firefox 44 开始,Notifications 和 Push 的权限已合并。如果授予权限(例如,由用户在相关的权限对话框中授予),navigator.permissions.query()
将对 notifications
和 push
都返回 true
。
注意:persistent-storage
权限允许来源使用持久性框(即 持久性存储)进行存储,根据 Storage API。
返回值
一个 Promise
,它使用 PermissionStatus
对象调用其 fulfilled 处理程序,以指示请求的结果。
异常
TypeError
-
以某种方式检索
PermissionDescriptor
信息失败,或者权限不存在或当前不受支持(例如midi
或带userVisibleOnly
的push
)。
示例
应用程序可以使用此函数请求撤销其自身的 Geolocation API 权限。
function revokePermission() {
navigator.permissions.revoke({ name: "geolocation" }).then((result) => {
report(result.state);
});
}
规范
规范 |
---|
放弃权限 # dom-permissions-revoke |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。