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

如何在新标签页/窗口运行Chrome扩展并借助谷歌免费托管

解决Chrome扩展持久化界面的几种方案

嘿,我来帮你理清这个问题!首先直接回答你的第一个疑问:完全可以通过新标签页或独立窗口加载扩展代码运行,但不能用chrome://extensions/<你的扩展ID>这种地址——这个是Chrome的扩展管理页面,不是用来加载你自己的扩展页面的。正确的扩展内部页面地址格式是chrome-extension://<扩展ID>/your-page.html,不过你不用手动写ID,用chrome.runtime.getURL('your-page.html')就能自动生成正确路径,适配开发和发布后的不同ID。

针对你想要“非弹窗、非原生应用、无需第三方服务器、依托Chrome自身”的持久化运行环境需求,给你推荐几个实用方案:

方案1:创建独立的扩展窗口

这个方案可以生成一个普通的Chrome窗口(不是容易关闭的popup),切换标签页也不会消失,完全依托Chrome运行。

步骤:

  1. 在你的扩展目录里创建一个主页面,比如app.html(可以包含你的应用逻辑)。
  2. 在manifest.json里确保声明了必要的配置(以Manifest V3为例):
{
  "manifest_version": 3,
  "name": "我的持久化应用",
  "version": "1.0",
  "action": {
    "default_popup": "popup.html" // 可选,用来触发打开主窗口
  },
  "background": {
    "service_worker": "background.js" // 可选,也可以在popup里触发窗口创建
  }
}
  1. 在popup或background脚本里添加创建窗口的代码:
// 比如在popup的按钮点击事件里触发
document.getElementById('open-app').addEventListener('click', () => {
  chrome.windows.create({
    url: chrome.runtime.getURL('app.html'),
    type: 'normal', // 普通窗口,不会像popup那样切换标签就关闭
    width: 800,
    height: 600,
    left: 100,
    top: 100
  });
});

这样点击扩展图标里的按钮,就会弹出一个独立的应用窗口,完全满足你的需求。

方案2:使用Chrome侧边栏(Side Panel)

这是Chrome 114版本后支持的原生功能,侧边栏会固定在浏览器左侧/右侧,切换标签页也不会关闭,体验非常流畅,是目前最推荐的持久化界面方案。

步骤:

  1. 在manifest.json里配置侧边栏:
{
  "manifest_version": 3,
  "name": "我的侧边栏应用",
  "version": "1.0",
  "side_panel": {
    "default_path": "sidepanel.html" // 你的侧边栏页面
  },
  "action": {
    "default_title": "打开侧边栏应用"
  }
}
  1. 用户点击扩展图标就能打开侧边栏,你也可以通过API主动触发:
// 在background或popup里调用
chrome.sidePanel.open({ windowId: chrome.windows.WINDOW_ID_CURRENT });

侧边栏页面可以正常使用所有Chrome扩展API,完全依托Chrome运行,不需要任何第三方服务器。

方案3:覆盖Chrome新标签页

把Chrome默认的新标签页替换成你的扩展页面,这样每次用户打开新标签页,就是你的应用界面,持久化且无需额外窗口。

步骤:

  1. 创建newtab.html作为你的新标签页应用页面。
  2. 在manifest.json里声明覆盖配置:
{
  "manifest_version": 3,
  "name": "我的新标签页应用",
  "version": "1.0",
  "chrome_url_overrides": {
    "newtab": "newtab.html"
  }
}

这样用户打开新标签页时,就会加载你的扩展页面,完全符合“依托Chrome服务器、无需第三方服务”的要求。

补充说明

  • 所有方案里的页面都是你扩展包内的本地文件,不需要任何外部Web服务器,完全依托Chrome的扩展运行环境。
  • 如果你需要使用Chrome的高级API(比如tabs、storage),记得在manifest.json的permissions字段里声明对应的权限。
  • 避免使用chrome://extensions/路径,这个是Chrome的管理界面,无法加载你的自定义页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:46:19