a标签download属性⽆效_a标签下载兼容性后端返回数据流或者base64时,前端需要转为图⽚下载,这个时候就要⽤到a标签
navigator标签
a标签下载常规做法:
var a = ateElement('a') // 先创建a标签
a.href = base // base是后端返回的数据
· a.download = '下载.jpg' // 下载的图⽚名
a.click(); // 开始下载
这样做完发现在IE⾥没有反应,原因是IE不⽀持a标签的download 属性,IE需要⽤到msSaveBlob⽅法
a标签下载兼容IE做法:
var a = ateElement('a') // 先创建a标签
a.href = blob // base是后端返回的数据
· a.download = '下载.jpg' // 下载的图⽚名
if (navigator.msSaveBlob) {
/
/ 兼容IE
var blob = Blob([blob], { type: 'image/jpg'});
return navigator.msSaveBlob(blob, '⽉报报表.jpg');
}
a.click(); // 开始下载
在⽕狐发现也是不能下载,原因是body⾥没有a标签,解决的⽅法就是把创建的a标签添加到body⾥
兼容性所有浏览器的写法就是:
var a = ateElement('a') // 先创建a标签document.body.appendChild(a);
a.style.display='none';
a.href = blob // base是后端返回的数据
· a.download = '下载.jpg' // 下载的图⽚名
if (navigator.msSaveBlob) {
// 兼容IE
var blob = Blob([blob], { type: 'image/jpg'});
return navigator.msSaveBlob(blob, '⽉报报表.jpg'); }
a.click(); // 开始下载

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。