打开一个新标签,不要失去焦点

时间:2014-02-03 13:47:06

标签: javascript html

您好我正在使用javascript,我想在另一个标签页中打开一个新页面,但仍然专注于当前标签页。我知道我可以这样做:

JS

document.getElementById("test").addEventListener("click", openNewBackgroundTab, false);

function openNewBackgroundTab(){
    var a = document.createElement("a");
    a.href = "http://www.3nytechnology.com/";
    var evt = document.createEvent("MouseEvents");    
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
    a.dispatchEvent(evt);
}

HTML

<a id="test" href="http://www.stupidcodes.com" target="_blank" >Open Google</a>

但此代码在FireFox 26.0中不起作用

任何人都可以帮我解决这个问题....

1 个答案:

答案 0 :(得分:0)

这可以通过模拟 CTRL +点击事件来完成

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);   
}

仅在Chrome上测试。