使用a标签下载时对不同浏览器的兼容性

 时间:2026-04-25 12:53:01

1、a标签下载常规做法:

var a = document.createElement('a') // 先创建a标签

a.href = base // base是后端返回的数据

· a.download = '下载.jpg' // 下载的图片名

a.click(); // 开始下载

这样做完发现在IE里没有反应,原因是IE不支持a标签的download 属性,IE需要用到msSaveBlob方法

2、a标签下载兼容IE做法:

var a = document.createElement('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(); // 开始下载

3、在火狐发现也是不能下载,原因是body里没有a标签,解决的方法就是把创建的a标签添加到body里

兼容性所有浏览器的写法就是:

var a = document.createElement('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(); // 开始下载

  • 浏览器最小化时让网页显示到系统托盘如何设置
  • Windows Server 2008安装 和HTTP配置的实验
  • win11如何给创建文件关联
  • win10环境变量path的值超过1023字符的解决方法
  • 如何设置文件资源管理器打开时的首选项
  • 热门搜索
    20岁掉头发很厉害怎么办 医疗保险在手机上怎么交 鳝鱼的做法大全 怎么安装扫描仪 数学手抄报图片大全 cf角色大全 后脚跟痛是怎么回事 黄庭坚简介 文天祥简介 蛋糕图片大全