关于window.open() 打开页面被拦截问题

当你异步请求完成window.open 跳转一个页面被火狐拦截,你是不是也有骂娘过(我骂过好多次,嘿嘿嘿)。遇到这个我问题我首先想到的是,js模拟a标签点击时间去解决这个问题。

模拟代码:

let link = document.createElement('a');
link.href = 'xxx';
link.target = '_blank';
link.click();

在测试的时候发现在火狐上还是会被拦截,这个天杀的火狐。。。

在咨询了大佬(🙏大佬,跪谢大佬)的情况下给了一个解决方法

根据大佬的建议的代码:

let newWin = window.open('')
this.props.dispatch({
    type: `xxx`,
    payload: {
        type: type
    },
}).then((result) => {
    newWin.location.href = result.url;
})

成功解决问题。。。再次🙏大佬。。。
结束!完毕,回家吃饭。。。

暂无评论