2015-03-08 138 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