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

Vue.js中通过代码实现在新标签页打开外部链接被浏览器拦截的解决方法求助

Vue.js中通过代码实现在新标签页打开外部链接被浏览器拦截的解决方法求助

大家好,我最近碰到个棘手的问题:在Vue.js项目里,我想在axios请求成功后,通过代码自动在新标签页打开一个外部链接,但每次都被浏览器拦截了,弹出“弹窗被阻止”的提示。我换了Chrome、Safari、Firefox好几个浏览器试,结果都一样,实在没思路了来求助大家!

我已经尝试过下面几种方法,但都没能解决问题:

  1. 直接调用window.open:
window.open(newUrl, '_blank');

这种方式完全不管用,依然被浏览器拦截。

  1. 动态创建<a>标签模拟点击:
const link = document.createElement('a');
link.href = 'https://example.html';
link.target = '_blank';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);

这个方法也没能绕过拦截,还是会被阻止。

  1. 使用window.navigation.navigate:
await window.navigation.navigate('http://localhost:8000/filepath', { 
    targetName: '_blank'
 });

同样没有效果,浏览器还是会拦截新标签页的打开。

有没有大佬能给我支个招,这种在异步请求(axios)成功后,通过代码打开新标签页不被拦截的解决方案呀?感激不尽!

备注:内容来源于stack exchange,提问作者Hasan AH

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 11:34:36