optional_permissions

类型 数组
必填
清单版本 2 或更高
示例
json
"optional_permissions": [
  "webRequest"
]

使用optional_permissions键列出您希望在扩展安装后运行时请求的权限。

permissions键列出了扩展在安装之前所需的权限。相反,optional_permissions列出了扩展在安装时不需要但可能在安装后请求的权限。要请求权限,请使用permissions API。请求权限可能会向用户显示一个对话框,要求他们向您的扩展授予权限。

有关设计运行时权限请求的建议,以最大程度地提高用户授予权限的可能性,请参阅运行时请求权限

从 Firefox 84 开始,用户可以从 Firefox 附加组件管理器管理可选权限。使用可选权限的扩展可以侦听browser.permissions.onAddedbrowser.permissions.onRemoved API 事件,以了解用户何时授予或撤销这些权限。

该键可以包含两种权限:主机权限和 API 权限。

主机权限

这些与您可以在permissions键中指定的主机权限相同。

注意:当使用清单 V3 或更高版本时,可选主机权限应使用optional_host_permissions清单键指定。Firefox 在 128 版本中引入了optional_host_permissions,请参阅bug 1766026,并允许继续使用optional_permissions来指定可选主机。但是,建议使用optional_host_permissions

API 权限

您可以在此处包含以下任何内容,但并非在所有浏览器中都适用:请查看兼容性表以了解特定浏览器的详细信息。

  • activeTab
  • background
  • bookmarks
  • browserSettings
  • browsingData
  • clipboardRead
  • clipboardWrite
  • contentSettings
  • contextMenus
  • cookies
  • debugger
  • declarativeNetRequest
  • declarativeNetRequestFeedback
  • declarativeNetRequestWithHostAccess
  • devtools
  • downloads
  • downloads.open
  • find
  • geolocation
  • history
  • idle
  • management
  • nativeMessaging
  • notifications
  • pageCapture
  • pkcs11
  • privacy
  • proxy
  • scripting
  • search
  • sessions
  • tabHide
  • tabs
  • topSites
  • webNavigation
  • webRequest
  • webRequestBlocking
  • webRequestFilterResponse
  • webRequestFilterResponse.serviceWorkerScript

请注意,这是permissions中允许的 API 权限的子集

在此集合中,以下权限会静默授予,无需用户提示

  • activeTab
  • cookies
  • idle
  • webRequest
  • webRequestBlocking
  • webRequestFilterResponse
  • webRequestFilterResponse.serviceWorkerScript

示例

json
 "optional_permissions": ["*://mdn.org.cn/*"]

仅在清单 V2 中,启用扩展以请求对 developer.mozilla.org 下页面的特权访问。

json
  "optional_permissions": ["tabs"]

启用扩展以请求访问tabs API 的特权部分。

json
  "optional_permissions": ["*://mdn.org.cn/*", "tabs"]

仅在清单 V2 中,启用扩展以请求上述两个权限。

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。