前言
在后台管理系统中,时常会有下载图片的需求,但在开发过程中发现,通过a标签下载的话,IE浏览器的下载表现是打开新的页面显示图片,并不是直接下载。为了兼容性,如果浏览器为IE时,使用window.navigator.msSaveBlob方法实现。
核心代码
这个可以下载图片,也可以下载文件
1 | // 判断浏览器类型 |
使用方法
download(type, data, name):
- type: 1 或 2( 用于判断传入的是地址还是canvas对象 )
- data: type = 1 时传入文件地址; type = 2 时传入一个canvas对象( 配合html2canvas使用 )
- name: 下载图片默认文件名( type = 1 时设置’’为地址默认文件名, type = 2 时 name 不能为空 )
注:name 参数虽然只有在下载文件类型为图片时生效,但为避免出错都需要传入一个值
例:download(1, url, ‘’) 或 download(2, canvas对象, ‘图片附件’)
案例
解决IE浏览器不兼容es6的问题
1 | <script src="./browser.min.js"></script> |
解决IE浏览器不兼容new promise的问题
1 | <script src = "https://cdn.polyfill.io/v2/polyfill.min.js"></script> |
具体代码
1 |
|