javascript - “广泛的主机权限”Webstore 警告,尽管只有一台主机具有权限
问题描述
我正在尝试发布 chrome 扩展,但是,当我尝试时,会出现以下消息:
由于以下问题,您的扩展可能需要深入审查:
- 广泛的主机权限
与其请求广泛的主机权限,不如考虑使用 activeTab 权限,或指定您的扩展程序需要访问的站点。这两种选择都比允许完全访问不确定数量的站点更安全,并且它们可能有助于最大限度地减少审查时间。
activeTab 权限允许访问选项卡以响应显式用户手势。
{ ... "permissions": ["activeTab"] }
如果您的扩展只需要在某些站点上运行,只需在扩展清单中指定这些站点:
{ ... "permissions": ["https://example.com/*"] }
我的清单具有这些权限:
{
"manifest_version":2,
"name": "Online Console",
"version":"1.0",
"description": "Simulador de consola de Online",
"browser_action":{
"default_icon": "icon24.png",
"default_popup": "primero.html"
},
"permissions": [ "activeTab", "https://google.com" ],
"content_scripts": [{
"js": [ "jquery.min.js" ],
"matches": [ "http://*/*", "https://*/*" ]
}]
}
为什么我会收到此警告以及如何解决?
解决方案
在内容脚本中拥有主机匹配会隐式授予您主机权限。
因此,您的有效主机权限是"*://*"
,这就是您需要解决的问题。
如果你有 activeTab 权限来激活你的用户手势扩展,并且你需要 jQuery,只需在你的代码之前以编程方式首先注入它。
不要只是在需要之前“以防万一”不加选择地将 jQuery 注入每个页面。所以,你的content_scripts
部分需要完全去(或被限制"https://google.com"
为匹配明确的权限)