chrome 扩展关闭或更新标签
chrome extension close or update tabs
我想编写一个扩展程序,它可以在 10 个选项卡中打开同一页面,然后每隔一段时间更新这些页面。如果无法更新,则应关闭这些选项卡并再次打开它们。
现在我有一个 javascript 运行 作为背景脚本
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?
是的,有一种方法可以保存您拥有的选项卡的 ID created/opened。
当您在 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
});
我想编写一个扩展程序,它可以在 10 个选项卡中打开同一页面,然后每隔一段时间更新这些页面。如果无法更新,则应关闭这些选项卡并再次打开它们。 现在我有一个 javascript 运行 作为背景脚本
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?
是的,有一种方法可以保存您拥有的选项卡的 ID created/opened。
当您在 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
});