【问题标题】:open multiple tabs on a single window by a single click using JavaScript使用 JavaScript 通过单击在单个窗口上打开多个选项卡
【发布时间】:2011-09-27 04:58:34
【问题描述】:

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

我发现,当使用window.open() 在谷歌浏览器的同一窗口的不同选项卡中打开多个链接时,它只成功打开了前 24 个窗口,而忽略了其余的。
我需要找到一种方法来一次单击打开所有链接。

有一些可用的 Google Chrome 扩展程序可以像这样工作 LinkClump
此扩展程序成功地在同一窗口的不同选项卡中打开所有选定的链接。我正在尝试修改其工作方式以适合我的情况。

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

【问题讨论】:

  • 您应该澄清您遇到的问题。打开 20 个窗口会发生什么?
  • 如果网站突然打开20个窗口我会很不高兴...
  • @slawekwin 这不是用于网站,而是用于Chrome Extension,如 OP 所述。我利用 Chrome 在打开时打开多个主页标签的能力,所以这不是一种外来技术。
  • @Alasdair 啊,我的错,忽略了声明
  • 这两种解决方案都适合您吗?

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


【解决方案1】:

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

同一窗口

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 权限。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 事情是,这不是链接的事情。 OP 需要一种在脚本中执行此操作的方法。除非您正在谈论通过生成链接并以编程方式单击它来在新窗口中打开内容的一些hacky方式......这似乎是一种落后的做事方式。
    • 我同意@cHao,我认为您没有意识到这是Chrome Extension 的问题。
    【解决方案3】:

    解决方案: 使用 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 中而不是新的选项卡中。愚蠢的铬:-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 2013-02-15
      • 2015-02-14
      • 2016-02-25
      • 2018-01-30
      • 2020-12-29
      • 1970-01-01
      相关资源
      最近更新 更多