ie9 javascript下载功能不起作用

时间:2017-01-23 15:52:29

标签: javascript internet-explorer internet-explorer-9

我使用JS for IE9创建了新的下载功能,但它不起作用。

descargarArchivo : function (url, idlote) {
            var str = window.location.href+"/"+url;
            str = str.replace("form.do/", "");
            // Le da nombre del fichero que se va a descargar
            var filename = 'factura_'+idlote;
            xhr= new XMLHttpRequest(); 
            xhr.responseType = 'blob';
            xhr.onload = function() {
                      var a = document.createElement('a');
                      a.href = window.URL.createObjectURL(xhr.response); 
                      a.download = filename; // Set the file name.
                      a.style.display = 'none';
                      document.body.appendChild(a);                         
                      a.click();
                      delete a;
                  }
               } 
           };
           xhr.open('GET', str);
           xhr.send();
        }

我读过,在IE9中没有Blob类型,因此xhr.response返回undefined。我该如何解决?

1 个答案:

答案 0 :(得分:0)

看看这个答案:https://stackoverflow.com/a/1926163/2435443

他使用注入的VBScript (ActiveXObject)将字节字符串转换为二进制数组,这是一种没有对象定义的Blob'仿真'。看起来很快&的鲁棒性。