Chrome扩展注入Google Maps脚本触发ExtensionsSettings政策错误如何解决
问题原因
Chrome内置的ExtensionsSettings政策默认对Google旗下核心站点(包含Google Maps、Gmail等)设置了扩展脚本注入限制,普通扩展默认无法在这类受保护的域下执行脚本注入操作。你的扩展代码、权限配置本身没有问题,其他站点运行正常也验证了这一点,仅Google Maps站点触发该专属限制。
解决方案
方案1:新增host_permissions配置(适合发布到应用商店的正式版本)
Manifest V3要求站点注入权限需要单独在host_permissions字段声明,你需要在现有manifest.json中新增以下配置:
{ // 保留原有的所有配置,新增下面这段 "host_permissions": [ "https://*.google.com/maps/*", "https://*.googleapis.com/*" ] }
修改完成后重新加载扩展,首次在Google Maps页面触发注入时,按照浏览器提示授予站点访问权限即可。
方案2:调整浏览器限制(仅适合本地开发调试场景)
如果是个人本地测试使用,不需要对外发布,可以用以下方式绕过限制:
- 打开Chrome扩展管理页
chrome://extensions/,找到你的扩展,开启「允许在无痕模式下使用」选项,在无痕窗口打开Google Maps页面测试注入逻辑 - 若你使用的是被企业政策管控的浏览器,可前往
chrome://policy/确认ExtensionSettings相关规则,联系管理员放宽对应域的注入限制 - 切换到Chrome开发者通道版本,对开发者模式下加载的已解压扩展,默认放宽Google域的注入限制
内容的提问来源于stack exchange,提问作者Ahmed Hany
相关产品推荐
相关产品推荐

