权限警告准则

Chrome 扩展程序可提升用户的浏览器体验。为此,请使用需要特定权限的 Chrome API。有些权限侵扰性较低,并且不会显示警告。其他权限会触发用户必须授予的警告。本页面提供了有关如何处理权限警告的指南。权限中注明了具体警告适用的权限。

用户添加新扩展程序时显示的权限警告示例
图 1:安装时显示的权限警告对话框。

添加会触发警告的新权限后,扩展程序将被停用,直到用户接受新权限。如需了解如何测试此行为,请参阅更新权限

在用户接受新权限之前一直处于停用状态的扩展程序示例。
图 2:在用户接受新权限之前处于停用状态的扩展程序。

某些权限在与其他权限配对时可能不会显示警告。例如,如果扩展程序也请求 "<all_urls>",则系统不会显示 "tabs" 警告。

最佳实践

权限警告描述了 API 授予的功能,但有些警告比其他警告更难理解。用户更有可能安装遵循以下准则的扩展程序:

请求相关权限
扩展程序必须实现单一用途,并遵守权限的使用政策。请确保仅请求支持扩展程序主要功能的权限。
使用可选权限
通过在运行时请求权限,改善新手入门体验。这样,您就可以围绕特定权限提供更多背景信息,并让用户选择要启用的功能。如需了解实现详情,请参阅 Permissions API
使用“activeTab”权限
此权限不会显示权限警告。它会向用户所在的网站授予临时主机权限。如需了解详情,请参阅了解 ActiveTab 权限

查看警告

如要查看扩展程序的权限警告,您有以下两种选择:

使用扩展程序更新测试工具

准备工作

  1. 安装 Node.js 和 NPM。
  2. 安装 Chromium
  3. 克隆 extension-update-testing-tool 代码库。
  4. 在代码库的根目录中运行 npm install

使用此工具

  1. 运行 npm start
  2. 在 Chromium 中通过 http://localhost:8080 打开本地服务器。
  3. 将解压缩的扩展程序(文件夹或 .zip 文件)拖到页面中。
  4. 按照“手动添加”下方的说明下载并安装该扩展程序。

通过手动打包扩展程序

  1. 导航到 chrome://extensions
  2. 启用开发者模式
  3. 点击打包扩展程序
    打包扩展程序
    图 3:在“扩展程序管理”页面中启用的开发者模式
  4. 在扩展程序根目录字段中指定扩展程序文件夹的路径。忽略首次软件包的 Private key 字段。
  5. 点击打包扩展程序按钮。

    指定扩展程序路径,然后点击“打包扩展程序”
    图 4:指定扩展路径
  6. Chrome 将创建两个文件:.crx 文件和 .pem 文件。.pem 文件包含用于为扩展程序签名的私钥。请务必记住这些文件保存的目录。

    打包的扩展程序文件
    图 5:打包的扩展程序
  7. 请将 .pem 文件保存在安全可靠的位置;更新扩展程序时需要使用此文件。

  8. .crx 文件拖放到该扩展程序的“管理”页面即可安装。

    将文件拖放到此处即可安装
    图 6:拖放文件即可安装
  9. 丢弃 .crx 文件后,浏览器会询问是否可以添加该扩展程序并显示警告。

    关于“新标签页”扩展程序的警告
    图 7:新标签页扩展程序的警告

更新权限

当扩展程序添加一项会触发警告的新权限时,可能会暂时停用该权限。只有在用户同意接受新权限后,该扩展程序才会重新启用。

若要检查扩展程序在添加新权限时是否会被停用,有以下选项可供选择:

使用扩展程序更新测试工具进行更新

以下步骤假定您按照使用扩展程序更新测试工具中的说明启动了服务器。

使用此工具

  1. 添加显示警告的新权限
  2. 提高扩展程序版本号
  3. 将解压缩的扩展程序(文件夹或 .zip 文件)拖到页面中。
  4. 转到 chrome://extensions
  5. 点击更新按钮。

手动更新扩展程序

  1. 查看警告中找到您刚刚创建的 .crx 文件。
  2. 请重命名或删除图片。
  3. 请打开 manifest.json,然后添加任何会触发警告的权限
  4. 转到 chrome://extensions请勿移除以前安装的软件包
  5. 再次打包扩展程序,但这次在第二个输入源中添加 pem 文件。
    打包扩展程序时添加了 Pem 文件
    图 8:打包扩展程序对话框(其中包含 pem 文件)。
  6. 将新的打包扩展程序拖到“扩展程序管理”页面。
  7. 您将看到一个提示用户接受新权限的对话框。

    扩展程序已停用

    图 9:扩展程序已停用警告

    同意授予权限
    图 10:请求新权限对话框