2015-03-08 133 views
0

我想编写一个扩展,它在10个选项卡中打开同一页面,然后以特定间隔更新这些页面。如果更新不可行,它应该关闭这些选项卡并再次打开它们。 现在我有一个JavaScript运行作为后台脚本Chrome扩展关闭或更新标签

chrome.browserAction.onClicked.addListener(function(activeTab){ 

var openTabs = 0; 
var tabArray = []; 

promise = window.setInterval(function() { 
    chrome.tabs.create({ url: "http://some.com/url/" }); 
    }, 2000); 
}); 

有没有办法救我已经打开的标签的ID?

回答

1

是的,有一种方法可以保存您创建/打开的选项卡的ID。

当您在callback参数中调用chrome.tabs.create时,您可以访问创建的tab对象。然后,您可以访问tabId并使用localStorage存储它以跟踪它们。这样的事情:

localStorage.setItem('tabIds',JSON.stringify([])) //init the store 

chrome.tabs.create({ url: "http://some.com/url/" }, function (tab){ 
    var tabs = JSON.parse(localStorage.getItem('tabIds')); 
    tabs.push(tab.id); 
    localStorage.setItem('tabIds',JSON.stringify(tabs)); //store array of tabsIds 
}); 
+0

谢谢你,帮助我很多 – 2015-03-08 22:21:59