计算打开的窗口数

时间:2010-11-11 18:22:47

标签: javascript google-chrome count window.open

我正在尝试使用javascript计算在我的Google Chrome浏览器中打开的标签数量。有谁知道如何做到这一点?

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

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

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

5 个答案:

答案 0 :(得分:1)

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

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

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

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

HTH

答案 1 :(得分:0)

网页是沙盒的好东西,以便其他网站无法访问它们。如果它们是您使用window.open打开的窗口,则可以将收到的引用保存到窗口中:

var win = window.open(url);

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

var wins = [];
//looping stuff here
wins.push(window.open(url[i]);

答案 2 :(得分:0)

所以我无法想办法做我想做的事情所以我采取了不同的方法。我说,让我们看看谷歌是否有chrome选项来限制打开的标签数量,我发现有人写了一个扩展来做到这一点。我不知道他是怎么做的,但绝对有效。 Controlled multi-tab browsing

答案 3 :(得分: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。而且你已经准备好了。

答案 4 :(得分:-1)

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

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

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