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

Chrome扩展Manifest V3:Service Worker注册失败问题求助

解决Chrome扩展Manifest V3中「Service worker registration failed」错误

针对你遇到的问题,结合Chrome 105版本的Manifest V3规范,以下是几个常见的排查和修复方向:

1. 核对文件路径

确保background.js和manifest.json处于同一根目录。如果你的background文件放在子文件夹中,需要在service_worker字段中填写相对路径(比如"js/background.js"),否则Chrome会找不到文件导致注册失败。

2. 补充必要的权限与Action配置

你的manifest.json缺少两个关键配置项,这可能是Service Worker注册失败的核心原因:

  • tabs权限:调用chrome.tabs.update接口必须声明该权限
  • action图标:chrome.action.onClicked事件要求扩展必须提供可点击的图标,否则Service Worker无法正常初始化

修改后的manifest.json如下:

{
  "name": "Test",
  "description": "Test",
  "version": "1.0",
  "manifest_version": 3,
  "permissions": ["tabs"],
  "action": {
    "default_icon": {
      "128": "icon128.png"
    }
  },
  "background": {
    "service_worker": "background.js"
  }
}

注意:需要准备一张128x128的图标文件(命名为icon128.png)放在根目录,Chrome会自动适配其他尺寸的显示需求。

3. 检查Service Worker代码限制

Service Worker运行在独立的无DOM环境中,确认你的background.js没有使用document、window等浏览器全局对象,这些API在Service Worker中是不支持的。你的当前代码没有这类问题,可以跳过此步。

4. 清除扩展缓存并重新加载

Chrome有时会缓存旧的扩展资源,导致新配置无法生效:

  • 打开Chrome扩展管理页面(输入chrome://extensions/)
  • 开启「开发者模式」
  • 找到你的测试扩展,点击「刷新」按钮(圆形箭头图标)
  • 若仍无效,先移除扩展,再重新加载扩展文件夹

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:01:39