VueでBlobを使ったファイルダウンロード


一、通常の用法chromeは正常に使用し、IE 11、Firefoxは互換性がない
    let a = document.createElement('a');
    let blob = new Blob([response.data], {
     type: "application/vnd.ms-excel"}); 
    let objectUrl = URL.createObjectURL(blob);
    a.setAttribute("href",objectUrl);
    a.setAttribute("download", 'XXX.xls');
    a.click();

二、互換性IE 11、FireFox、Chrome
    var csvData = new Blob([content], {
      type: 'application/vnd.ms-excel' });
    // for IE
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
     
        window.navigator.msSaveOrOpenBlob(csvData, file_name);
    }
    // for Non-IE (chrome, firefox etc.)
    else {
     
        var a = document.createElement('a');
        //FireFox      document.body.appendChild(a)       
        document.body.appendChild(a);
        a.style = 'display: none';
        var url = window.URL.createObjectURL(csvData);
        a.href =  url;
        a.download = file_name;
        a.click();
        a.remove();
        window.URL.revokeObjectURL(url);
    }

三、参考リンク
https://blog.csdn.net/u014628388/article/details/81738704