| 12345678910111213141516171819202122232425 |
- // 通用小工具(被多个页面共用)
- /**
- * 统一文件下载入口。
- * IE10/11 走 msSaveOrOpenBlob(不支持 a[download]);现代浏览器走 a[download] + ObjectURL,下载完立即回收 URL。
- * 注意:此函数是唯一定义,勿在 polyfills.js 或其它文件重复声明(全局函数重复声明会静默覆盖)。
- * @param {Blob} blob
- * @param {string} filename
- */
- function downloadBlobFile(blob, filename) {
- if (window.navigator && window.navigator.msSaveOrOpenBlob) {
- window.navigator.msSaveOrOpenBlob(blob, filename);
- return;
- }
- var url = URL.createObjectURL(blob);
- var a = document.createElement("a");
- a.href = url;
- a.download = filename || "download";
- document.body.appendChild(a);
- a.click();
- setTimeout(function () {
- document.body.removeChild(a);
- URL.revokeObjectURL(url);
- }, 100);
- }
|