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

Manifest V3版Chrome扩展跳转外部网站时executeScript报错如何解决?

问题排查与修复方案

核心错误点

  • Manifest V3 已废弃 chrome.tabs.executeScript 接口,需使用官方替代接口 chrome.scripting.executeScript
  • 调用脚本注入接口时未指定目标标签ID,接口无法识别需要注入脚本的目标页面
  • 缺少对应权限声明,脚本注入能力需要在manifest.json中提前配置权限

代码修复

background.js调整

chrome.runtime.onInstalled.addListener(async () => {
  const initialUrl = "https://www.globalflyerdistribution.com/";
  const targetUrl = "你需要跳转的目标URL";
  const tab = await chrome.tabs.create({ url: initialUrl });

  // 方案1:若确实需要注入脚本执行跳转逻辑
  await chrome.scripting.executeScript({
    target: { tabId: tab.id },
    func: () => location.href = targetUrl
  });

  // 方案2:仅需跳转的更优方案,无需注入脚本,无需额外scripting权限
  // await chrome.tabs.update(tab.id, { url: targetUrl });

  console.log(`Created tab ${tab.id}`);
});

manifest.json权限补充

如果你使用方案1的脚本注入方案,需要在manifest.json中新增以下配置:

{
  "permissions": ["scripting"],
  "host_permissions": [
    "https://www.globalflyerdistribution.com/*",
    "*://你的跳转目标域名/*"
  ]
}

如果使用方案2的直接更新标签地址方案,仅需要配置对应域名的host_permissions即可,无需申请scripting权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:51:01