11

有没有办法检索所有打开的选项卡并将它们排序到 Chrome 中的数组中?因此,如果 Gmail 和 YouTube 处于打开状态,则数组中将有两个条目分别命名为“gmail.com”和“youtube.com”。

4

2 回答 2

8

是的,您可以这样做:

注意:这需要在清单文件中指定权限“选项卡”。

chrome.windows.getAll({populate:true}, getAllOpenWindows);

function getAllOpenWindows(winData) {

  var tabs = [];
  for (var i in winData) {
    if (winData[i].focused === true) {
        var winTabs = winData[i].tabs;
        var totTabs = winTabs.length;
        for (var j=0; j<totTabs;j++) {
          tabs.push(winTabs[j].url);
        }
    }
  }
  console.log(tabs);
}

在此示例中,我只是按照您在数组中的要求添加选项卡 url,但每个“选项卡”对象都包含更多信息。Url 将是完整的 URL,您可以应用一些正则表达式从 URL 中提取域名。

于 2012-08-11T19:02:17.503 回答
5

除非您正在构建插件,否则我知道要检索打开选项卡的所有名称,尤其是如果选项卡包含单独的域中的内容。如果你能做这样的事情,那可能是一个相当大的安全问题!

您可以在此处查看 Chrome 文档:http: //developer.chrome.com/extensions/devguide.html

于 2012-08-11T14:18:04.540 回答