javascript - chrome 扩展关闭或更新选项卡

标签 javascript google-chrome google-chrome-extension

我想编写一个扩展程序,在 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。

当您调用chrome.tabs.create时在callback参数中,您可以访问创建的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
});

关于javascript - chrome 扩展关闭或更新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28932232/

相关文章:

javascript - Reactjs create-react-app my-app 后端集成

javascript - 如何通过点击一个div提交一个值?

google-chrome - 从内容脚本将 HTML 注入(inject)页面

javascript - 禁用打印屏幕命令

javascript - 在 chrome 扩展中获取 executeScript 之外的变量

javascript - 如何在开始之前取消 chrome 下载并获取下载网址?

javascript - 获取字符串的值类型(JSContext evaluateScript)

javascript - 当我从此代码中删除 next() 时,为什么我的代码在第一次请求后无法终止?

javascript - Chrome - 无法读取跨域请求的 session

html - Firefox 和 Chrome 坚持使用 blue::selection 背景