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

Android Chrome移动端Web使用JS打开新标签页失败的问题求助

解决移动端Chrome中window.open无法打开新标签页的问题

可行修复方案

  • 补充完整URL协议头
    你当前代码中的test.com缺少http/https协议,移动端Chrome会将其判定为相对路径,导致在当前标签页跳转。修改为带协议的完整地址:

    window.open("https://test.com", "_blank");
    
  • 绑定到用户交互事件
    Chrome移动端会拦截非用户主动触发的window.open调用(比如页面加载完成后自动执行的代码)。必须将代码绑定到点击、触摸这类明确的用户操作上,示例:

    document.querySelector(".open-link-btn").addEventListener("click", () => {
      window.open("https://test.com", "_blank");
    });
    

    对应HTML元素:

    <button class="open-link-btn">打开新标签页</button>
    
  • 检查Chrome弹窗权限设置
    打开Chrome设置 → 隐私和安全 → 网站设置 → 弹出窗口和重定向,确认你的网站没有被设置为「不允许」弹出窗口。

  • 改用原生<a>标签(更稳定)
    移动端场景下,原生<a>标签的跳转逻辑比window.open更可靠,同时添加rel="noopener noreferrer"避免安全风险:

    <a href="https://test.com" target="_blank" rel="noopener noreferrer">打开新标签页</a>
    

    若需通过JS触发,可动态创建a标签并模拟点击:

    function openNewTab() {
      const link = document.createElement('a');
      link.href = 'https://test.com';
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      document.body.appendChild(link);
      link.click();
      document.body.removeChild(link);
    }
    

    注意该函数仍需由用户交互触发。

  • 尝试更新Chrome浏览器
    尽管当前版本为125.0.6422.113,部分浏览器版本bug可能导致此类问题,检查并安装最新版本后重试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 14:34:52