有没有办法检索所有打开的标签并将它们排序到Chrome中的数组?因此,如果Gmail和YouTube处于打开状态,阵列中将有两个条目名为“gmail.com”和“youtube.com”。
答案 0 :(得分:7)
是的,以下是您可以这样做的方法:
注意:这需要在清单文件中指定权限“标签”。
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);
}
在这个例子中,我只是在数组中询问时添加了tab url,但每个“tab”对象包含更多信息。 Url将是完整的URL,您可以应用一些正则表达式从URL中提取域名。
答案 1 :(得分:4)
除非您正在构建插件,否则我无法检索打开的选项卡的所有名称,特别是如果选项卡包含来自不同域的内容。如果你能够做到这一点,那可能是一个非常安全的问题!
您可以在此处查看Chrome文档:http://developer.chrome.com/extensions/devguide.html