window.open(url)打开链接被浏览器拦截解决方案
H5下载发票是跳一个后端返回的链接,但直接用window.open有些会被浏览器(Safari)拦截在axios中进行window.open会被浏览器拦截法1:但用户自己点击的链接不会,可以创建a标签模拟用户点击;法2:在axios之前就window.openxx.addEventListener(‘click‘, function () {// 打开页面,此处最好使用提示页面var newWin
·
H5下载发票是跳一个后端返回的链接,但直接用window.open有些会被浏览器(Safari)拦截
在axios中进行window.open会被浏览器拦截
法1:但用户自己点击的链接不会,可以创建a标签模拟用户点击;
法2:在axios之前就window.open
xx.addEventListener(‘click‘, function () {
// 打开页面,此处最好使用提示页面
var newWin = window.open(‘loading page‘);
ajax().done(function() {
// 重定向到目标页面
newWin.location.href = ‘target url‘;
});
});
以上方法其实是打开了两个地址,所以建议大家打开第一个地址的时候给出一个类似‘当前页面正在加载中,请稍后。。’的简单提示页,这样可以避免打开两次真正的目标页面,让用户察觉到页面的重定向。
法3(终极方法,成功实践):
window.location.href='target url'
我的博客主页 :https://qingmuzhang.gitee.io/
更多推荐
已为社区贡献1条内容
所有评论(0)