Search code examples
javascriptgoogle-chrometabsgoogle-chrome-extension

open multiple tabs on a single window by a single click using JavaScript


I need to open multiple tabs on a single window, new window instance for a single link will not be a problem but when it comes to 20+ (which is my case) then 20+ new windows are really a problem, so I need to find a solution, the code has to run on chrome only in my case I have 35 links stored in an array. I am reading array using a for loop and opening links in new tabs using window.open()
I can use only JavaScript for this. I am developing a customized chrome extension.

I found out that while using window.open() to open multiple links in different tabs of a same window in Google Chrome, it succeeds in opening only first 24 windows and left out the rest.
I need to find out a way to open all the links at once with a single click.

There are some Google Chrome Extensions available which work like this like LinkClump
This Extension successfully open all selected links in different tabs of a same window. I am trying to modify its working to suit mine.

Meanwhile, if anyone can get any solution, he/she is most welcome.


Solution

  • I wasn't sure if you wanted the links to be open in a new window or not so I've included both possibilities;

    Same Window

    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

    New Window

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

    chrome.windows documentation

    Regardless of which approach you use you will need to declare the tabs permission in your extension's manifest.