博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件下载的ie11兼容性优化
阅读量:7246 次
发布时间:2019-06-29

本文共 1512 字,大约阅读时间需要 5 分钟。

  在  中有说关于前后端分离时如何实现文件下载的功能,但是过完年回来,同事告诉我这个方式在ie11上存在不兼容的问题,报如下错:

  浏览器兼容问题是很头疼的问题,因为之前也没遇到过这样的问题,所以经过两三个小时才解决。

  发现在微软在ie10 和ie11中有两个特有的方法:window.navigator.msSaveBlobwindow.navigator.msSaveOrOpenBlob 方法,这两个方法的区别在于,前者只有保存,后者有保存和打开两个选项,按个人喜好使用就行。

  优化之后的代码如下:

1  /** 2      * 导出用户列表 3      */ 4     private exportUsers(){ 5         this.http.doPost({ 6             url: 'system/sysmanager/user/exportUsers', 7             responseType:ResponseContentType.Blob, 8             body:this.form, 9             success: (req, res) => {10                 if(window.navigator.msSaveOrOpenBlob){11                     // 兼容ie1112                     try{13                         var blobObject = new Blob([res.json()]); 14                         window.navigator.msSaveOrOpenBlob(blobObject, "用户列表.xlsx"); 15                     }16                     catch(e){17                         console.log(e);18                     }19                 }20                 else{21                     var blob = new Blob([res.json()]); 22                     var a = document.createElement('a');23                     a.href = URL.createObjectURL(blob); // xhr.response is a blob24                     a.download = "用户列表.xlsx";25                     a.style.display = 'none';26                     document.body.appendChild(a);27                     a.click();28                     a.remove();29                 }30             }31         });32    }

 

  如果有什么不当之处,请大家多多指出。

 

转载于:https://www.cnblogs.com/sunshine6/p/8488545.html

你可能感兴趣的文章
usb mass storage device
查看>>
XAML实例教程系列 - 类型转换器(Type Converter)
查看>>
LINQ 关键字
查看>>
nodejs gyp WARN EACCES user "root" does not have permission to access the dev dir
查看>>
Apache + PHP
查看>>
实现表格tbody内滚动
查看>>
jdbc链接数据库
查看>>
git 分支管理
查看>>
【高效程序员系列】目录
查看>>
JS中循环逻辑和判断逻辑的使用实例
查看>>
从零开始开发一个简易的类vue-cli构建工具
查看>>
中国工业软件成立联盟合力对外
查看>>
PAT 2-10. 海盗分赃(25)
查看>>
网络攻防_实验二+
查看>>
Quick-Cocos2d-x初学者游戏教程(十) ---------------- 添加游戏障碍物
查看>>
Maven环境下MyBatisGenerator 配置
查看>>
20180925-6 四则运算试题生成
查看>>
django 验证码实现
查看>>
HTML - 网页特殊字符大全(转)
查看>>
sift算法中翻译的第11页中比值问题
查看>>