关于html5:vue下载excel兼容360QQIE10IE11浏览器

问题:360浏览器下载时候偶然胜利,控制台查看接口显示胜利
解决:兼容代码如下

downloadExcel(dPath,param){
            // dPath--申请地址
            // param--申请门路
            this.$axios.post(dPath, param, {responseType: 'arraybuffer'}
            ).then(res => {
              if (window.navigator && window.navigator.msSaveOrOpenBlob) {//兼容
                window.navigator.msSaveOrOpenBlob(blob,这是下载的文件名 + '.xls')
              } else {
                var blobURL = window.URL.createObjectURL(blob)// 将blob对象转为一个URL
                var tempLink = document.createElement('a')// 创立一个a标签
                tempLink.style.display = 'none'
                tempLink.href = blobURL
                tempLink.setAttribute('download', 这是下载的文件名 )// 给a标签增加下载属性--文件名称
                if (typeof tempLink.download === 'undefined') {
                  tempLink.setAttribute('target', '_blank')
                }
                document.body.appendChild(tempLink)// 将a标签增加到body当中
                tempLink.click()// 启动下载
                document.body.removeChild(tempLink)// 下载结束删除a标签
                window.URL.revokeObjectURL(blobURL)
              }
            }).catch((error) => {
              console.log(error)
            })
          },

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理