我想要做的是每次Chrome启动时打开一个新标签(chrome:// newtab)。 我的javascript代码运行正常:
chrome.tabs.create({});
每次执行脚本时,新选项卡都会打开,聚焦并将光标放在地址栏中。问题是,代码并不总是执行 - 只有在Chrome启动之前没有运行Chrome进程时才会执行。
我的第二种方法是创建一个事件监听器,这样一旦执行chrome就会知道启动时该怎么做。我尝试过使用这个脚本:
chrome.windows.onCreated.addListener(function (Window window) {
chrome.tabs.create({});
});
但这根本不起作用。
我的清单看起来像这样:
{
"manifest_version": 2,
...
"background": {
"scripts": ["newtab.js"],
"persistent": false
}
}
... 因此,实现这一目标的正确方法是什么?
答案 0 :(得分:1)
function (Window window) {
语法无效。
chrome.windows.onCreated.addListener(function() {
chrome.tabs.create({})
})
将起作用。
但是,这可能不是您想要的,因为这会在使用Menu创建新窗口时产生新标签 - >新窗口。
您可以通过检查最新打开的窗口是唯一的窗口来解决此问题。
chrome.windows.onCreated.addListener(function() {
chrome.windows.getAll(function(windows) {
if(windows.length == 1) {
chrome.tabs.create({})
} }) })`