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