You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用HTML或JavaScript打开非激活状态的新标签页?

在后台打开新标签页并保持原页面焦点

首先明确:没有原生HTML属性能直接实现这个需求,浏览器默认target="_blank"就是会激活新标签页,这是出于用户体验和安全策略的设计。不过可以用JS技巧尝试实现,虽然没法保证在所有浏览器/场景下都生效:

方法:通过JS控制窗口焦点

先打开一个空白新窗口,再给它设置目标URL,最后强制原页面重新获取焦点:

function openBackgroundTab(url) {
  const newTab = window.open('', '_blank');
  if (newTab) {
    newTab.location.href = url;
    // 让原页面抢回焦点
    window.focus();
  }
}

然后把原a标签改成调用这个函数:

<a href="javascript:void(0)" onclick="openBackgroundTab('https://example.com')">Example</a>

注意事项

  • 这个方法依赖浏览器对window.focus()的支持,部分现代浏览器为了防止焦点劫持,可能会忽略这个调用,导致新标签页依然被激活。
  • 必须是用户主动触发的事件(比如点击)才能执行这个函数,如果是自动执行(比如页面加载完成后调用),浏览器会直接阻止,甚至拦截新窗口。
  • 不同浏览器的行为差异很大,比如Firefox相对更容易允许这种焦点切换,Chrome则限制更严格。

内容的提问来源于stack exchange,提问作者boketeボケて

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 09:54:55