Tabs 根据数组内容延迟打开和关闭选项卡

Tabs 根据数组内容延迟打开和关闭选项卡,tabs,google-chrome-extension,Tabs,Google Chrome Extension,我想根据数组中的URL创建新选项卡,但是在此过程中,我需要脚本先等待新选项卡中的页面加载,或者等待几秒钟,然后关闭选项卡,并在第一个选项卡关闭后创建新选项卡 当前,此代码将一次创建所有新选项卡,然后close.js脚本将在几秒钟后关闭这些选项卡。因此,如果我的数组中有50个URL,那么一次将创建50个新选项卡,这很糟糕。我需要一次创建并关闭一个选项卡,而不是一次关闭所有选项卡 我曾尝试使用chrome.tabs.querystatus参数来解决此问题,但此状态参数似乎仅与选项卡加载状态相关,而与

我想根据数组中的URL创建新选项卡,但是在此过程中,我需要脚本先等待新选项卡中的页面加载,或者等待几秒钟,然后关闭选项卡,并在第一个选项卡关闭后创建新选项卡

当前,此代码将一次创建所有新选项卡,然后
close.js
脚本将在几秒钟后关闭这些选项卡。因此,如果我的数组中有50个URL,那么一次将创建50个新选项卡,这很糟糕。我需要一次创建并关闭一个选项卡,而不是一次关闭所有选项卡

我曾尝试使用
chrome.tabs.query
status参数来解决此问题,但此状态参数似乎仅与选项卡加载状态相关,而与页面状态无关

有人有什么想法吗

var jsonObject=xhr.responseText;
var obj=jQuery.parseJSON(jsonObject);
for(var i=0;i
找到了一个解决方案:

var jsonObject = xhr.responseText;  
var obj = jQuery.parseJSON(jsonObject);
var timeout = 0;
var urlcount = 0;       

for (var i = 0; i < obj.url.length; i++) {
    setTimeout(function(){
        chrome.tabs.create({"url":obj.url[urlcount],"selected":false},function(tab){
        var createdTabId = tab.id;
        chrome.tabs.executeScript(createdTabId, {file: "js/close.js"});
        }); 
        urlcount++;
    },timeout);  // put the timeout here
    timeout = timeout + 2000;
}
var jsonObject=xhr.responseText;
var obj=jQuery.parseJSON(jsonObject);
var超时=0;
var urlcount=0;
for(var i=0;i
找到了一个解决方案:

var jsonObject = xhr.responseText;  
var obj = jQuery.parseJSON(jsonObject);
var timeout = 0;
var urlcount = 0;       

for (var i = 0; i < obj.url.length; i++) {
    setTimeout(function(){
        chrome.tabs.create({"url":obj.url[urlcount],"selected":false},function(tab){
        var createdTabId = tab.id;
        chrome.tabs.executeScript(createdTabId, {file: "js/close.js"});
        }); 
        urlcount++;
    },timeout);  // put the timeout here
    timeout = timeout + 2000;
}
var jsonObject=xhr.responseText;
var obj=jQuery.parseJSON(jsonObject);
var超时=0;
var urlcount=0;
for(var i=0;i