Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 250
Nicu Surdu Avatar asked Aug 01 '11 10:08

Nicu Surdu


2 Answers

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});
    }
});
like image 122
serg Avatar answered Oct 21 '22 03:10

serg


window.open(url, name, features);
window.focus();

You will see the new window for a short moment though.

like image 39
Amit Avatar answered Oct 21 '22 03:10

Amit