Chrome扩展Manifest V3开发是否需要声明host_permissions权限?
结论:是否需要配置"host_permissions": [ "*://*/*" ]完全取决于你的扩展要实现的功能,和你是否使用content scripts没有直接关联:
- 如果你需要实现以下任意能力,必须配置该全量host权限:
- 从popup.js或background.js中调用
chrome.scripting.executeScript等API主动向任意网页注入脚本/样式 - 调用
chrome.tabs.captureVisibleTab捕获任意网页的可见区域截图 - 读取
chrome.tabs查询结果里的网页url、标题等敏感字段 - 从扩展侧直接发起跨域请求到用户访问的任意站点的服务端接口
- 从popup.js或background.js中调用
- 如果你的扩展仅使用书签管理、本地存储读写、浏览器通知推送、下载项管理这类和具体站点内容无关的能力,可以直接省略host_permissions配置项。
额外提示:配置
*://*/*全站点权限后,Chrome安装扩展时会提示用户「此扩展可以读取和更改你访问的所有网站上的所有数据」,会显著降低用户安装意愿,建议优先按实际使用场景配置最小必要的权限范围,不要直接开全量权限。
内容的提问来源于stack exchange,提问作者Ganning Xu
相关产品推荐
相关产品推荐

