首页 > 解决方案 > “广泛的主机权限”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://*/*" ]
 }]
}

为什么我会收到此警告以及如何解决?

标签: javascripthtmlgoogle-chrome-extensionpermissionsmanifest

解决方案


在内容脚本中拥有主机匹配会隐式授予您主机权限。

因此,您的有效主机权限是"*://*",这就是您需要解决的问题。

如果你有 activeTab 权限来激活你的用户手势扩展,并且你需要 jQuery,只需在你的代码之前以编程方式首先注入它。

不要只是在需要之前“以防万一”不加选择地将 jQuery 注入每个页面。所以,你的content_scripts部分需要完全去(或被限制"https://google.com"为匹配明确的权限)


推荐阅读