Search code examples
javascriptgoogle-chromegoogle-chrome-extension

Prevent window.open from focusing


I want to open a page in a new tab in Google Chrome with window.open(), but I don't want that window to gain focus after it's opened, but to stay in the background.

Is this possible? It only has to work on Google Chrome. It can also use the Google Chrome extension API.

Thanks


Solution

  • The proper way would be to use extension API:

    chrome.tabs.create({url: "http://...", selected: false});
    

    Code should be placed in a background page. If you need it inside a content script you can pass a message to a background page, like so:

    //content script
    chrome.runtime.sendMessage({link: link});
    
    //background page
    chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
        if(message.link) {
            chrome.tabs.create({url: message.link, selected: false});
        }
    });