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
相关产品推荐
相关产品推荐

