我想使用Javascript在其他标签中打开新页面,但仍将重点放在当前标签上。我知道我可以这样做:
open('http://example.com/'); focus();
但是,当我在chrome中执行此操作时,它会闪烁新标签一会儿,然后再切换回当前标签。我想避免这种情况。
该应用程序是个人书签,因此仅需在最新的Chrome中运行。
更新:谷歌浏览器的版本41 initMouseEvent 似乎已更改行为。
initMouseEvent
这可以通过在属性属性设置为所需的动态生成元素上模拟ctrl+ click(或打开背景选项卡的任何其他键/事件组合)来完成a``href``url
ctrl
click
a``href``url
行动中: jsfiddle
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); }
仅在铬上测试