如何知道我的 chrome 扩展程序需要哪些权限?
How to know which permissions my chrome extension needs?
我刚刚写了一个 chrome 扩展,它向 devtools 添加了一个选项卡,可以从任何页面上的示例元素生成 CSS selectors。我已经设置了“”权限,因为我将在用户想要 select 示例元素的任何页面中使用内容脚本注入 JS。我刚刚向 Google 支付了 5 美元,当我正在将扩展发布到 chrome 扩展商店时,Google 警告我,我的扩展可能需要几周时间才能获得批准,因为权限太宽泛。
According to Google, I may not need to declare any host permission if I declare the activeTab
permission. Not sure if that applies to my case, but most importantly, I have no idea whether I may actually need additional permissions since no warnings will be shown when my extension is unpacked(我理解这意味着不会显示任何警告 和 扩展将被允许 运行 任何代码,无论是否缺少任何权限),这就是我测试它的方式。
Google 然后建议打包已安装的扩展以查看警告,但我不会看到任何警告,因为 the extension won't run。所以我似乎没有任何办法知道我是否真的需要“”许可,或者我是否需要任何额外的许可,除了通过发布它来测试我的运气并等待几周看看会发生什么, 并重复这个过程,直到我想出所需的最低权限,所以我想知道是否有人知道更好的选择。
在安装扩展之前,浏览器会显示权限警告。他们列出了 API 和主机权限。这些警告不会影响扩展的功能。
要查看这些警告,您可以 运行 devtools console opened on any of your extension pages 中的以下内容(即不在内容脚本中):
fetch('/manifest.json').then(_ => _.text()).then(_ => chrome.management.getPermissionWarningsByManifest(_, console.log))
要查看任何已安装的扩展程序的权限,无论是解压的还是从商店中获取的,请打开 chrome://extensions
页面并单击该扩展程序卡上的 details
按钮。
圆圈部分用于API权限。下面的站点访问列出了主机权限,当在网上商店中安装扩展时,这些权限以简化形式显示,例如<all_urls>
将是“读取并更改您访问的网站上的所有数据”。
每个权限警告的确切文本也在 documentation 中列出。
您的扩展程序使用 <all_urls>
,这意味着广泛的访问和缓慢的人工审核队列。根据建议,您可以尝试使用 activeTab
权限而不是 <all_urls>
。如果它不起作用,请在 https://crbug.com because the old one was abandoned. Also, try using chrome.devtools.inspectedWindow API 上打开一个新报告,该报告提供 eval
类似于 chrome.tabs.executeScript 的方法并且可能与 activeTab
一起使用。注意,它与 JavaScript eval
.
无关
我刚刚写了一个 chrome 扩展,它向 devtools 添加了一个选项卡,可以从任何页面上的示例元素生成 CSS selectors。我已经设置了“
According to Google, I may not need to declare any host permission if I declare the activeTab
permission. Not sure if that applies to my case, but most importantly, I have no idea whether I may actually need additional permissions since no warnings will be shown when my extension is unpacked(我理解这意味着不会显示任何警告 和 扩展将被允许 运行 任何代码,无论是否缺少任何权限),这就是我测试它的方式。
Google 然后建议打包已安装的扩展以查看警告,但我不会看到任何警告,因为 the extension won't run。所以我似乎没有任何办法知道我是否真的需要“
在安装扩展之前,浏览器会显示权限警告。他们列出了 API 和主机权限。这些警告不会影响扩展的功能。
要查看这些警告,您可以 运行 devtools console opened on any of your extension pages 中的以下内容(即不在内容脚本中):
fetch('/manifest.json').then(_ => _.text()).then(_ => chrome.management.getPermissionWarningsByManifest(_, console.log))
要查看任何已安装的扩展程序的权限,无论是解压的还是从商店中获取的,请打开 chrome://extensions
页面并单击该扩展程序卡上的 details
按钮。
圆圈部分用于API权限。下面的站点访问列出了主机权限,当在网上商店中安装扩展时,这些权限以简化形式显示,例如<all_urls>
将是“读取并更改您访问的网站上的所有数据”。
每个权限警告的确切文本也在 documentation 中列出。
您的扩展程序使用 <all_urls>
,这意味着广泛的访问和缓慢的人工审核队列。根据建议,您可以尝试使用 activeTab
权限而不是 <all_urls>
。如果它不起作用,请在 https://crbug.com because the old one was abandoned. Also, try using chrome.devtools.inspectedWindow API 上打开一个新报告,该报告提供 eval
类似于 chrome.tabs.executeScript 的方法并且可能与 activeTab
一起使用。注意,它与 JavaScript eval
.