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

如何在target_blank打开新标签页后自动刷新该标签页

解决方案

你的问题出在原JS代码里的location.reload(true)是操作当前页面的位置对象,所以会刷新原标签页,而非新打开的标签页。要实现新标签页1秒后自动刷新,需要获取新窗口的引用并对其执行刷新操作,具体修改如下:

修改后的HTML代码

<a href="@Html.Raw(item.Image)" onclick="return handleOpen(this)" class="btn btn-primary">Show</a>

修改后的JS代码

function handleOpen(link) {
    // 打开新标签页并获取窗口引用
    const newWindow = window.open(link.href, '_blank');
    // 1秒后刷新新标签页
    setTimeout(() => {
        // 检查窗口是否存在且未被关闭
        if (newWindow && !newWindow.closed) {
            newWindow.location.reload(true);
        }
    }, 1000);
    // 阻止a标签默认跳转行为,避免重复打开窗口
    return false;
}

关键说明

  • 用window.open()打开新窗口时,会返回该窗口的引用,通过这个引用可以直接操作新标签页的location对象
  • 添加return false阻止a标签的默认跳转逻辑,避免同时触发两次窗口打开操作
  • 增加窗口存在性检查,防止用户在1秒内关闭新标签页导致报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 01:42:09