我正在考虑将未发布的Chrome扩展程序中的某些权限移动为可选而非清单中的必需,并且希望测试用户流。
在解压扩展中调用chrome.permissions.request()
似乎只是默默地成功。
此Chrome developer page建议您可以使用打包的.crx
文件测试正常用户流:
如果您想确切了解用户会收到哪些警告,请将您的扩展程序打包到.crx文件中,然后安装。
但是,Chrome似乎不再允许您在Chrome网上应用店外安装任意.crx
文件。在“扩展”页面上拖放文件会列出该文件,但会禁用已启用复选框。此SO comment表示以这种方式测试权限可能不再可能,但我还没有看到任何关于它的官方文档。
我实际上可以通过使用these instructions将其添加到Windows注册表中的扩展程序白名单来安装和启用非Webstore .crx
文件,但该扩展程序没有触发许可请求对话框。
所以我的问题是:
chrome.permissions.remove()
?答案 0 :(得分:1)
事实证明,当扩展程序已获得必要的"sessions"
权限时,我请求"tabs"
权限让我感到困惑。显然,当您已经"sessions"
时请求"tabs"
并未触发权限对话框。
但是,调用chrome.permissions.request({ permissions: ["bookmarks"] })
之类的内容实际上显示了权限对话框,即使在解压缩的扩展名中也是如此。
所以答案是:
无需向Chrome网上应用店发布扩展程序。只需使用您的本地解压缩扩展程序请求可选权限即可查看对话框。
看起来再次触发权限对话框的唯一方法是完全删除扩展并重新安装。调用chrome.permissions.remove()
会尽可能删除API,但如果再次请求,则会以静默方式重新添加权限。