在开发中,我们常遇到需要导出Excel文件的需求,但兼容老旧浏览器(如IE)却是个头疼的问题。今天分享一个基于Vue+Blob的解决方案,完美解决这一痛点!👇
首先,我们需要通过`Blob`对象将数据转换为二进制流。代码逻辑如下:
```javascript
const blob = new Blob([data], { type: 'application/vnd.ms-excel' });
```
接着,为了确保文件能在新窗口中正确打开,需创建一个临时的URL引用Blob对象:
```javascript
const url = window.URL.createObjectURL(blob);
```
最后,利用`window.open()`方法打开链接,并设置超时清除临时URL:
```javascript
const newWindow = window.open(url, '_blank');
if (newWindow) {
setTimeout(() => window.URL.revokeObjectURL(url), 1000);
}
```
这样,即使面对IE浏览器,也能优雅地完成Excel文件的导出与新窗口打开!💪
记得测试时注意权限问题哦,祝大家项目顺利 ✨