許可權:revoke() 方法

注意:此功能在 Web Workers 中可用。

已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。

Permissions 介面的 revoke() 方法可以將當前設定的許可權恢復到其預設狀態,通常是 prompt。此方法透過全域性 Permissions 物件 navigator.permissions 呼叫。

此方法已從主要的許可權 API 規範中移除,因為其用例不明確。許可權由瀏覽器管理,當前的許可權模型不涉及網站開發者能夠命令式地請求或撤銷許可權。瀏覽器已在偏好設定中實現了此 API,但不太可能進入標準軌道。更多背景資訊,請參閱 刪除 permissions.revoke() 的原始討論

語法

js
revoke(permissionDescriptor)

引數

permissionDescriptor

一個物件,用於設定 revoke 操作的選項。此描述符的可用選項取決於許可權型別。

所有許可權都有一個名稱

name

一個字串,包含您想查詢許可權的 API 名稱。如果許可權名稱未被瀏覽器支援,返回的 Promise 將會以 TypeError 拒絕。

對於 push 許可權,您還可以指定

userVisibleOnly 可選

(僅限推送,Firefox 不支援 — 請參閱下面的瀏覽器支援部分) 指示您是否想為每條訊息顯示通知,或者能夠傳送靜默推送通知。預設為 false

對於 midi 許可權,您還可以指定

sysex 可選

指示您是否需要和/或接收系統獨佔訊息。預設為 false

返回值

一個 Promise,它會使用一個 PermissionStatus 物件呼叫其 fulfillment 處理程式,該物件指示請求的結果。

異常

TypeError

檢索 PermissionDescriptor 資訊時發生某種失敗,或者許可權不存在或當前不支援(例如,midi 或帶有 userVisibleOnlypush)。

示例

應用程式可以使用此函式請求撤銷其自身的 Geolocation API 許可權。

js
function revokePermission() {
  navigator.permissions.revoke({ name: "geolocation" }).then((result) => {
    report(result.state);
  });
}

規範

規範
放棄許可權
# dom-permissions-revoke

瀏覽器相容性