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

如何让MVC中Html.ActionLink在后台打开新标签页(不获取焦点)

后台打开新标签页(不获取焦点)的实现方案

原生HTML的target="_blank"属性会让新打开的标签页自动获取焦点,要实现后台打开新标签页且不抢占焦点,需要借助JavaScript来完成——因为HTML本身没有原生属性支持这个需求。

步骤1:修改ActionLink代码

给链接添加一个自定义类名,方便后续JavaScript定位元素,同时移除原有的target="_blank"属性:

@Html.ActionLink(@durationInSecondsFormatted, "Index", "Player", new { id = item.Id }, htmlAttributes: new { @class = "btn btn-outline-success btn-sm open-in-background"})

步骤2:添加JavaScript处理逻辑

通过监听点击事件,手动打开新标签页后立刻将焦点切回当前页面:

document.querySelectorAll('.open-in-background').forEach(link => {
  link.addEventListener('click', function(e) {
    e.preventDefault(); // 阻止链接的默认跳转行为
    const newTab = window.open(this.href, '_blank');
    window.focus(); // 将焦点重新放回当前页面
  });
});

注意事项

部分浏览器可能会因安全策略或用户设置限制此行为,但Chrome、Firefox等主流浏览器均支持该实现方式。

内容的提问来源于stack exchange,提问作者Ruby2022

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:05:24