0

我正在尝试使用 javascript 计算在我的 google chrome 浏览器中打开的选项卡的数量。有谁知道如何做到这一点?

我写了一些我想重复 10 次然后停止的 javascript。完成 1 次迭代后,我使用以下命令打开一个新窗口:

window.open("http://www.test.com");

我想做 10 次而不是停止。也许有比我想的更好的方法......

4

5 回答 5

1

网页被沙盒化是一件好事,这样其他网站就无法访问它们。如果它们是您打开的窗口,window.open您可以将收到的参考保存到窗口中:

var win = window.open(url);

当然,如果您打开大量窗口,您可以将其推送到数组中。

var wins = [];
//looping stuff here
wins.push(window.open(url[i]);
于 2010-11-11T18:28:40.517 回答
1

我认为循环很好,但如果你想跟踪,

var winList = new Array();
var count = 10;

for(var i=0; i < count; i++){
    winList[i] = window.open("http://www.test.com");
}

这样,您可以保留对窗口的引用。

hth

于 2010-11-11T18:29:40.363 回答
0

所以我想不出一种方法来做我想做的事,所以我采取了不同的方法。我说,让我们看看谷歌是否有 chrome 中的选项来限制打开的标签数量,我发现有人写了一个扩展来做到这一点。我不知道他是怎么做到的,但它确实有效。 受控的多标签浏览

于 2010-11-11T22:09:11.393 回答
0

查看Google Chrome Extensions Developer Guide,特别是Tabs页面和getAllInWindow功能

chrome.tabs.getAllInWindow(integer windowId, function callback)

回调函数接收选项卡数组的位置。这意味着你可以得到它的长度。

如果您要跟踪的选项卡可能在不同的窗口中,那么您需要查看Windows页面和getAll功能

chrome.windows.getAll(object getInfo, function callback)

使用它来遍历所有窗口并调用getAllInWindow. 你都准备好了。

于 2010-11-12T08:20:13.473 回答
-1

如果您只想打开十个标签:

var i;
for (i = 0; i < 10; i++) {
    window.open("http://www.test.com");
}

但是不,我不相信您可以计算打开标签的数量,因为这可能会向您可能不希望他们知道的网站披露信息。(您是否希望您访问的随机网站知道您打开了多少个标签?)

于 2010-11-11T18:27:18.553 回答