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

Firefox扩展MV2中background.js运行Worker的CSP问题解决方法

Firefox MV2 后台脚本中正确运行Worker的方案

一、修正CSP配置

Firefox MV2对后台脚本的CSP有严格限制,正确的配置需要明确允许从扩展自身源加载Worker和Wasm相关资源:

"content_security_policy": "script-src 'self' blob:; worker-src 'self'; object-src 'none';"
  • script-src 'self' blob::允许加载扩展包内的脚本,同时支持Wasm加载可能用到的blob协议
  • worker-src 'self':明确授权从扩展自身源创建Worker
  • object-src 'none':遵循安全最佳实践,禁用不必要的对象资源加载

二、正确创建Worker

后台脚本本身有权限直接访问扩展包内的资源,无需配置web_accessible_resources(该字段用于网页内容访问扩展资源),直接用相对路径初始化Worker即可:

const worker = new Worker('worker.js');

三、之前尝试方案的问题说明

  • data:协议Worker:Firefox MV2的CSP明确禁止在script-src中使用data:协议,因此该方式无法生效。
  • 错误配置web_accessible_resources:该配置与后台脚本的资源访问无关,属于冗余操作。
  • 错误添加'unsafe-inline':后台脚本的CSP不需要'unsafe-inline',添加后会触发CSP规则冲突,导致资源加载被阻止。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:46:02