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

将Chrome Manifest V3扩展适配Firefox MV3时遇运行故障

问题:Manifest V3扩展在Firefox Preview中无法运行

我开发了一个能在Chrome正常运行的Manifest V3测试扩展,代码如下:

manifest.json:

{
  "manifest_version": 3,
  "name": "test",
  "version": "0.0.1",
  "content_scripts": [
    {
      "matches": ["*://*/*"],
      "js": ["content.js"]
    }
  ]
}

content.js:

alert('test')

执行命令 web-ext run --firefox-preview 启动扩展时,浏览器窗口能正常打开,但扩展完全没反应。添加--verbose参数后看到以下错误信息,求帮忙排查:

Firefox stderr: [Parent 14212, IPC I/O Parent] WARNING: file /builds/worker/checkouts/gecko/ipc/chromium/src/base/process_util_win.cc:167
Firefox stderr: JavaScript error: resource://gre/modules/XULStore.jsm, line 58: Error: Can't find profile directory.
Firefox stdout: console.error: services.settings:
Firefox stdout: main/whats-new-panel Signature failed  InvalidSignatureError: Invalid content signature (main/whats-new-panel)
Firefox stdout: console.error: services.settings:
Firefox stdout: main/whats-new-panel local data was corrupted
console.warn: services.settings: main/whats-new-panel Signature verified failed. Retry from scratch
Firefox stdout: console.error: services.settings:
Firefox stdout: main/addons-manager-settings Signature failed again InvalidSignatureError: Invalid content signature (main/addons-manager-settings)
Firefox stdout: console.error: services.settings:
Firefox stdout: Message: InvalidSignatureError: Invalid content signature (main/addons-manager-settings)
 Stack:
   InvalidSignatureError@resource://services-settings/RemoteSettingsClient.jsm:169:5
_validateCollectionSignature@resource://services-settings/RemoteSettingsClient.jsm:977:13

排查解决方案

  1. 手动指定Profile目录
    错误提示的Can't find profile directory是核心问题之一,web-ext可能未正确生成临时配置文件。可以手动指定测试用Profile目录:

    web-ext run --firefox-preview --profile ./test-profile
    

    执行前确保./test-profile目录已创建,web-ext会自动初始化该目录作为Firefox配置目录。

  2. 验证Manifest V2兼容性
    Firefox对Manifest V3的支持仍在完善中,部分特性可能存在兼容问题。先将扩展改为Manifest V2测试,排除MV3本身的兼容问题:
    修改manifest.json:

    {
      "manifest_version": 2,
      "name": "test",
      "version": "0.0.1",
      "content_scripts": [
        {
          "matches": ["*://*/*"],
          "js": ["content.js"]
        }
      ]
    }
    

    重新执行启动命令,若alert('test')正常弹出,说明问题源于Firefox Preview对MV3的支持限制,需关注官方版本更新。

  3. 临时禁用Remote Settings签名验证
    InvalidSignatureError是Firefox远程设置服务签名验证失败导致的,会影响扩展管理器工作。可临时关闭验证:

    • 启动Firefox Preview后访问about:config
    • 搜索services.settings.signature.verification,将值改为false
    • 重启浏览器后重新加载扩展测试
  4. 更新web-ext和Firefox Preview
    旧版本工具或浏览器可能存在已知bug,更新到最新版本:

    • 更新web-ext:npm install -g web-ext
    • 下载替换最新版Firefox Preview

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 06:20:21