























部分浏览器(如 Chrome、Edge、Safari 等)出于安全和体验考虑,会自动拦截非用户主动触发的新窗口或新标签页。这是浏览器的正常保护行为,并非系统故障。
页面加载完成后自动尝试 window.open打开新页面
异步请求(Ajax / Fetch)完成后再打开新窗口
定时器(setTimeout)触发的新页面跳转
点击按钮后执行较复杂逻辑再跳转(被浏览器判定为非即时操作)
一般会出现以下情况之一:
地址栏上方出现 “弹出窗口已阻止” 的提示条
页面无明显反应,但控制台中有类似
Blocked popup during page load/ window.open() ignored的提示
1.允许该网站弹出窗口
点击地址栏左侧的 🔒 / ⓘ 图标
找到「弹出式窗口」或「权限」相关设置
选择 允许,刷新页面后重试
2.手动触发操作
尽量使用明确的按钮点击直接打开新页面
避免在接口返回后再间接打开新窗口
3.更换浏览器尝试
若当前浏览器限制严格,可尝试系统自带浏览器或其他主流浏览器
确保 window.open由同步的用户点击事件直接触发
避免将打开新页面的逻辑放在异步回调或定时器中
必要时改为当前页跳转或引导用户手动点击
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。