使用JavaScript通过单击在单个窗口上打开多个选项卡

时间:2011-09-27 04:58:35

标签: javascript google-chrome tabs google-chrome-extension

我需要在一个窗口上打开多个标签,单个链接的新窗口实例不会有问题但是当涉及20+(这是我的情况)时,20多个新窗口确实是一个问题,所以我需要找到一个解决方案,代码必须只在我的情况下在chrome上运行我有35个链接存储在一个数组中。我正在使用for循环读取数组,并使用window.open()左侧打开新标签中的链接 我只能使用JavaScript。我正在开发一个定制的镀铬扩展程序。

我发现在使用window.open()在谷歌浏览器的同一个窗口的不同标签中打开多个链接时,它只能成功打开前24个窗口而忽略其余部分。
我需要找到一种方法,只需点击一下即可打开所有链接。

有一些谷歌Chrome扩展程序可以像这样工作 LinkClump
此扩展程序成功打开同一窗口的不同选项卡中的所有选定链接。我试图修改它的工作以适应我的。

同时,如果有人能得到任何解决方案,他/她是最受欢迎的。

3 个答案:

答案 0 :(得分:5)

我不确定您是否希望在新窗口中打开链接,所以我已经包含了两种可能性;

同一窗口

var linkArray = []; // your links
for (var i = 0; i < linkArray.length; i++) {
    // will open each link in the current window
    chrome.tabs.create({
        url: linkArray[i]
    });
}

chrome.tabs documentation

新窗口

// will open a new window loaded with all your links
chrome.windows.create({
    url: linkArray
});

chrome.windows documentation

无论您使用哪种方法,都需要在扩展程序的清单中声明tabs权限。

答案 1 :(得分:3)

您可以使用链接的target="_blank"属性在新标签页中打开相应的页面。

答案 2 :(得分:1)

Solotion: 使用setTimeout! 拥有越来越多的时间价值

javascript:
var a=document.location.href;
for (var i=0;i<50;i++){
    setTimeout('window.open(a)',i*200);
}
void(0);

这将克隆当前标签50次,即使在Chrome中也是如此!不幸的是,在新的Windows而不是新标签中。傻铬: - )