如何在不切换到新标签的情况下在JavaScript中打开新标签?

Mik*_*lov 27 html javascript

如何在不切换到新标签的情况下使用javascript打开新标签?
例如,当用户单击链接时,将打开一个新选项卡,但用户应保留在当前选项卡上.

Mik*_*ike 39

Web浏览器会自动关注新选项卡,但您可以将焦点调回:

function openWindow( url )
{
  window.open(url, '_blank');
  window.focus();
}

<a href="http://www.example.com/" onclick="javascript:openWindow(this.href);return false;">Click Me</a>
Run Code Online (Sandbox Code Playgroud)

  • @ josh3736:这很有意思.我还是14岁(在Linux上),但事实并非如此.所以基本上:你不能依赖它.:) (4认同)
  • 重新聚焦:根据我的经验,没有.不管怎么说都不是Chrome(http://jsbin.com/aboluk/2) - 但它们在尝试时并没有太大的危害. (2认同)

T.J*_*der 13

不幸的是,你目前无法做到这一点 - 但你可以接近.您可以打开一个新窗口,如果您这样做而没有指定任何窗口尺寸或窗口功能,大多数现代浏览器将打开一个新选项卡(取决于用户的首选项,但是,您希望无论如何都要执行用户喜欢的操作,对?).所以,window.open(url)或者window.open(url, name)如果你要使用这个名字.请务必直接响应用户启动的事件,否则浏览器的弹出窗口阻止程序可能会阻止弹出窗口.:-)

实例

关注你的窗口...祝你好运.您可以拨打window.focus()window.open(...),但在我的经验,通常不工作.

把它扔出去:如果你做了用户与URL的真实链接交互的东西,用户可以决定是在新标签,新窗口中打开它,无论是否给它焦点(如果它们是足够精通知道Shift + Click和Ctrl + Shift + Click,或右键菜单).