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

Chrome扩展开发报错:Uncaught TypeError: Cannot read properties of undefined (reading 'addListener')

Chrome扩展开发问题:chrome.tabs.onUpdated 相关错误与疑问

我正在开发一款用于保存YouTube视频时间戳的Chrome扩展,遇到以下错误:
Uncaught TypeError: Cannot read properties of undefined (reading 'addListener')

我的配置文件与代码

manifest.json

{
  "name": "My YT Bookmarks",
  "version": "0.1.0",
  "description": "Saving timestamps in YT videos",
  "permissions": ["storage", "tabs"],
  "host_permissions": ["https://*.youtube.com/*"],
  "background": {
    "service_worker": "background.js"
  },
  "content_scripts": [
    {
      "matches": ["https://*.youtube.com/*"],
      "js": ["contentScript.js"]
    }
  ],
  "web_accessible_resources": [
    {
      "resources": [
        "assets/bookmark.png",
        "assets/play.png",
        "assets/delete.png",
        "assets/save.png"
      ],
      "matches": ["https://*.youtube.com/*"]
    }
  ],
  "action": {
    "default_icon": {
      "16": "assets/ext-icon.png",
      "24": "assets/ext-icon.png",
      "32": "assets/ext-icon.png"
    },
    "default_title": "My YT Bookmarks",
    "default_popup": "popup.html"
  },
  "manifest_version": 3
}

background.js

chrome.tabs.onUpdated.addListener((tabId, tab) => {
  if (tab.url && tab.url.includes("youtube.com/watch")) {
    const queryParameters = tab.url.split("?")[1];
    const urlParameters = new URLSearchParams(queryParameters);
    console.log(urlParameters);

    chrome.tabs.sendMessage(tabId, {
      type: "NEW",
      videoId: urlParameters.get("v"),
    });
  }
});

疑问

chrome.tabs.onUpdated 是否存在?它在Chrome扩展MV3的服务工作者文档中被提及,但点击该API的链接会返回404错误;当尝试文档中提到的过滤方法时,还出现了服务工作者注册错误(状态码15)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:05:32