前言
最近业务同学反馈说点击下载按钮的时候,页面会刷白,且一次会下载多个文件,经查,该按钮的实现方式是通过一个按钮,然后点击按钮的时候里面通过window.location.href=""的方式调用后台接口,通过浏览器实现文件下载的。
示例:
<button id="exportBtn" >导出</button>
js如下:
$('#exportBtn').click(function () {
window.location.href = "";
});
解决方案
通过查询,得知可以通过创建a标签的方式,解决该问题,对上面的代码修改一下,如下所示:
<button onclick="export()" >导出</button>
js如下:
var downLoad=function(src){
var a = document.createElement('a'); //创建一个a标签
a.id = 'expertFile'; //定义id
a.href = "”; //定义a标签的href属性,此处可以自定义链接
document.body.append(a); //将a标签添加到页面body下面
a.click(); //模拟点击
document.getElementById('expertFile').remove();//点击完成之后,删除a标签
}
经测试,已经解决了业务同学遇到的问题。
参考
https://blog.csdn.net/weixin_39417767/article/details/84874516