2017-01-23 4 views
0

Я создал новую функцию загрузки с использованием JS для IE9, но это не сработает.ie9 Функция загрузки javascript не работает

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 возвращает неопределенное. Как я могу это решить?

+2

Вы искали решение для stackoverflow, похоже, это уже было задано? IE9 Blob Polyfill – epascarello

+0

Да, но у меня есть много вопросов без ответов. –

+0

Ну, вы не можете использовать Ajax вместо отправки формы и установить сервер для заголовков загрузки. – epascarello

ответ

0

Посмотрите на этот ответ: https://stackoverflow.com/a/1926163/2435443

Он использует впрыскивается VBScript (ActiveXObject) для преобразования байтов строки в двоичный массив, это своего рода «эмуляции» BLOb без определения объекта. Выглядит быстро & прочный.

Смежные вопросы