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

如何设置Chrome扩展默认在新标签页打开而非弹窗?

解决Chrome扩展点击后默认打开新标签页的问题

嘿,我来帮你搞定这个需求!要把你的Chrome扩展从点击后弹出弹窗改成默认打开新标签页,只需要两步简单修改就可以实现:

1. 修改manifest.json配置

首先,你需要移除browser_action里的default_popup字段——因为只要这个配置存在,Chrome就会优先触发弹窗,而不会执行你在background.js里的点击事件逻辑。

修改后的browser_action和相关配置应该是这样的:

{
  ...
  "background": {
    "scripts": ["js/background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_title": "Test Viewer v.1.0",
    "default_icon": "icon.png"
    // 删掉了原来的default_popup配置
  },
  "permissions": [
    "unlimitedStorage",
    "notifications",
    "activeTab",
    "tabs",
    "https://docs.google.com/*",
    "downloads"
  ]
  ...
}

(注:你的配置里已经包含了tabs权限,这正好是我们打开新标签页需要的,不用额外添加)

2. 完善background.js的点击事件逻辑

接下来,在background.js里编写点击扩展图标时打开新标签页的代码:

chrome.browserAction.onClicked.addListener(() => {
  // 使用chrome.runtime.getURL获取扩展内部页面的正确路径
  chrome.tabs.create({ url: chrome.runtime.getURL("index.html") });
});

这里用chrome.runtime.getURL()是为了确保不管你的扩展是处于开发模式还是打包后的状态,都能正确定位到index.html文件,避免路径错误。

最后一步:重新加载扩展

修改完以上两个文件后,记得打开Chrome的扩展管理页面(开启开发者模式),找到你的扩展点击「重新加载」按钮,这样修改才能生效哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:58:00