首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Chrome扩展:在启动时打开新标签

Chrome扩展:在启动时打开新标签
EN

Stack Overflow用户
提问于 2016-01-06 07:31:51
回答 1查看 1K关注 0票数 0

我想要做的是在每次Chrome启动时打开一个新的标签(chrome://newtab)。我的javascript代码运行得很好:

代码语言:javascript
运行
复制
chrome.tabs.create({});

每次执行脚本时,新选项卡都会打开、聚焦并将光标放在地址栏中。问题是,代码并不总是被执行-只有在Chrome启动之前没有运行Chrome进程时才会执行。

我的第二种方法是创建一个事件侦听器,这样一旦执行,chrome就会知道在启动时该做什么。我试过使用这个脚本:

代码语言:javascript
运行
复制
chrome.windows.onCreated.addListener(function (Window window) {
    chrome.tabs.create({});
});

但这根本不起作用。

我的清单如下所示:

代码语言:javascript
运行
复制
{
  "manifest_version": 2,
   ...
  "background": {
    "scripts": ["newtab.js"],
    "persistent": false
  }
}

..。因此,实现这一点的正确方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-01-06 08:54:21

function (Window window) {是无效语法。

取而代之的是chrome.windows.onCreated.addListener(function() { chrome.tabs.create({}) })

但是,这可能不是您想要的,因为当使用Menu -> new window创建新窗口时,这将导致新的选项卡。

您可以通过检查最近打开的窗口是否是唯一的窗口来解决此问题。

代码语言:javascript
运行
复制
chrome.windows.onCreated.addListener(function() {
 chrome.windows.getAll(function(windows) {
  if(windows.length == 1) {
   chrome.tabs.create({})
} }) })`
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34623159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档