You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MV3扩展web_accessible_resources在file://页面注入资源被拦截如何解决?

这是Chrome 110及以上版本的安全设计特性,并非Bug。

问题根因

Chrome在该版本后收紧了web_accessible_resources的匹配逻辑,<all_urls>通配符默认不覆盖file://协议的页面上下文。即便是已经为扩展开启了「允许访问文件URL」权限,也无法通过该通配符匹配本地文件页面的资源访问请求,因此会返回net::ERR_BLOCKED_BY_CLIENT错误,这也是仅本地页面异常、HTTP页面完全正常的核心原因。

解决方案

你可以任选以下两种方案修复:

  • 方案1:修改web_accessible_resources配置,显式添加file:///*匹配规则,修改成本最低,调整后即可正常加载
    调整后的配置示例:
    "web_accessible_resources": [
      {
        "resources": [
          "harviewer/*",
          "connection.js"
        ],
        "matches": [
          "<all_urls>",
          "file:///*"
        ]
      }
    ]
    
  • 方案2:通过扩展消息传递直接拉取资源内容
    如果不希望放宽资源匹配规则,可以在内容脚本中调用chrome.runtime.sendMessage向背景页请求目标资源内容,背景页读取资源后返回给内容脚本,再通过Blob URL或者内联的方式注入到页面,完全规避跨协议访问的限制。

内容的提问来源于stack exchange,提问作者hindmost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:36:04