Open a new tab in the background?
google-chrome, javascript
Solution
UPDATE: By version 41 of Google Chrome, `initMouseEvent` seemed to have a changed behavior, and so this answer no longer works. Thanks to @Daniel Andersson for his comment.
this can be done by simulating `ctrl` + `click` (or any other key/event combinations that open a background tab) on a dynamically generated `a` element with its `href` attribute set to the desired `url`
In action: fiddle
function openNewBackgroundTab(){
var a = document.createElement("a");
a.href = "http://www.google.com/";
var evt = document.createEvent("MouseEvents");
//the tenth parameter of initMouseEvent sets ctrl key
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
true, false, false, false, 0, null);
a.dispatchEvent(evt);
}
tested only on chrome
Problem
Using javascript, I want to open a new page in a different tab, but remain focused on the current tab. I know I can do it like this: ``` open('http://example.com/'); focus(); ``` However, when I do this in chrome, it flashes the new tab for a moment before switching back to the current tab. I want to avoid this. The application is a personal bookmarklet, so it only has to work in the latest Chrome.