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

Chrome扩展:如何在页面内嵌脚本前运行内容脚本修改YouTube播放器

这问题我之前帮人排查过好几次,YouTube的播放器脚本加载时机确实刁钻得很——哪怕你把扩展脚本的run_at设成document-start,有时候还是抢不过它的执行优先级。给你两个经过验证的靠谱思路:

解决方案1:用webRequest API拦截并替换外部player_api脚本

如果player_api是从YouTube服务器加载的外部脚本(比如https://www.youtube.com/yts/jsbin/player_xxxx.js这类),直接拦截请求、返回你修改后的版本是最稳妥的:

  • 第一步:在manifest.json里添加必要权限:
    "permissions": ["webRequest", "webRequestBlocking", "*://*.youtube.com/*"]
    
  • 第二步:在后台脚本(比如background.js)里写拦截逻辑:
    chrome.webRequest.onBeforeRequest.addListener(
      function(details) {
        // 匹配player相关的脚本URL,根据实际情况调整正则规则
        if (/player_api|player.*\.js/i.test(details.url)) {
          // 重定向到你修改好的本地脚本文件
          return { redirectUrl: chrome.runtime.getURL('modified_player.js') };
        }
      },
      { urls: ["*://*.youtube.com/*"], types: ["script"] },
      ["blocking"]
    );
    
  • 第三步:把修改后的脚本放在扩展目录里,同时在manifest.json里声明它允许YouTube页面访问:
    "web_accessible_resources": [
      {
        "resources": ["modified_player.js"],
        "matches": ["*://*.youtube.com/*"]
      }
    ]
    
解决方案2:拦截内嵌脚本的执行(针对页面内嵌入的
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:16:25