声明权限

若要使用大多数扩展程序 API 和功能,您必须在清单的权限字段中声明扩展程序的 intent。扩展程序可以请求使用相应清单键指定的以下类别的权限:

"permissions"
包含已知字符串列表中的项。更改可能会触发警告
"optional_permissions"
由用户在运行时(而不是在安装时)授予。
"content_scripts.matches"
包含一个或多个匹配模式,允许内容脚本注入到一个或多个主机中。更改可能会触发警告
"host_permissions"
包含一个或多个匹配格式,可授予对一个或多个主机的访问权限。更改可能会触发警告
"optional_host_permissions"
由用户在运行时(而不是在安装时)授予。

如果您的扩展程序遭到恶意软件入侵,权限有助于限制受损程度。在安装之前或运行时,系统会向用户显示一些权限警告,以征求用户同意,如显示警告的权限中所述。

考虑在扩展程序功能允许的情况下尽可能使用可选权限,以便用户在知情的情况下控制对资源和数据的访问权限。

如果 API 需要某项权限,其文档会说明如何声明该 API。如需查看示例,请参阅 Storage API

清单

以下是清单文件的权限部分示例:

manifest.json:

{
  "name": "Permissions Extension",
  ...
  "permissions": [
    "activeTab",
    "contextMenus",
    "storage"
  ],
  "optional_permissions": [
    "topSites",
  ],
  "host_permissions": [
    "https://www.developer.chrome.com/*"
  ],
  "optional_host_permissions":[
    "https://*/*",
    "http://*/*"
  ],
  ...
  "manifest_version": 3
}

主机权限

主机权限允许扩展程序与网址的匹配格式进行交互。有些 Chrome API 除了拥有自己的 API 权限外,还需要主机权限,具体请参阅各参考页面的相关文档。下面是一些示例:

出现警告的权限

当扩展程序请求多项权限,并且其中许多权限在安装时显示警告时,用户将看到警告列表,如以下示例所示:

安装扩展程序权限警告

如果扩展程序只给出有限的警告或向用户说明权限,那么用户更有可能信任该扩展程序。请考虑实现可选权限或实现功能略低的 API,以避免收到警告性警告。如需了解针对警告的最佳做法,请参阅权限警告指南。在权限参考列表中列出了特定警告及其所适用的权限。

在清单文件的 "host_permissions""content_scripts.matches" 字段中添加或更改匹配模式也会触发警告。如需了解详情,请参阅更新权限

允许使用

如果您的扩展程序需要通过 file:// 个网址运行或在无痕模式下运行,用户必须在其详情页面上向该扩展程序授予访问权限。您可以在管理您的扩展程序下找到有关如何打开详情页面的说明。

允许访问文件网址和在无痕模式下访问网页

  1. 右键点击 Chrome 中的扩展程序图标。
  2. 选择管理扩展程序

    扩展程序上下文菜单
    扩展程序菜单
  3. 向下滚动以启用对文件网址的访问权限或无痕模式。

    允许在扩展程序详情页面上使用文件网址和无痕模式
    启用文件网址访问权限和无痕模式。

如需检测用户是否已允许访问权限,您可以调用 extension.isAllowedIncognitoAccess()extension.isAllowedFileSchemeAccess()