产生白屏问题的原因是因为点击下载按钮的时候实际上因为某些原因产生了2次点击,如果使用的是 window.location.href 这种下载方式或者a标签的方式,会发生链接覆盖,产生页面跳转。如果想要解决这个问题可以采用iframe进行下载,不同的iframe之间是互补影响的。
代码如下:
let divFrame = window.parent.document.getElementById("dIframe")
if (divFrame != null) {
window.parent.document.body.removeChild(divFrame)
}
//重新创建
let iframe = window.parent.document.createElement("iframe");
iframe.setAttribute("id", "dIframe");
window.parent.document.body.appendChild(iframe);
divFrame = window.parent.document.getElementById("dIframe");
divFrame.src = url; // 下载链接
divFrame.style.display = "none";
之前做了个SVG Sprites还原工具(上传合并好的SVG Sprites文件,分解成独立的小SVG),然后经用户反馈,希望增加个打包下载功能。然后我就研究了下,还挺有意思的,目前已经上线,如下图所示:
最近有用到微信小程序的downloadFile接口,但是在真机上出现了文件后缀为unknown,导致文件保存失败,这里记录下:下载文件使用downloadFile下载API,改进后的下载保存
a标签完成,js实现下载,js中ajax实现音频或者视频不跳转进行文件下载:先请求音频的链接,再把返回值转换成二进制,再根据他二进制对象生成新链接,再创建a标签,点击a标签;fetch实现
最近项目一个功能需求,需实现将两张图片合成后下载的一个功能。分析完功能需求后,决定直接使用前端技术来实现。为提高效率,使用插件(html2canvas)配合编写此功能。有关插件(html2canvas)的介绍
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!