2015-06-17 1 views
1

Я пытаюсь использовать pdf.js для отображения документа в URL-адресе данных в IE10. То есть, something like this.Открыть pdf.js с URL-адресом данных в IE11

Он хорошо работает с Firefox или Chrome, но в Internet Explorer 10 и 11 интерфейс отображается, но остается пустым, и документ никогда не загружается.

Я проверил, совместимость.js включена в страницу рендеринга (viewer.html), поэтому должна присутствовать поддержка IE.

EDIT: на самом деле это проблема безопасности, поскольку IE не позволяет запускать запрос такого типа.

Спасибо заранее,

+1

Преобразования URL данных в байте массив и использовать для открытия с помощью PDFViewerApplication.open? – async5

+1

Имейте в виду, что IE также обрезает длинный URL-адрес, поэтому ваш файл с кодировкой base64 может быть поврежден. – async5

ответ

1

Хорошо, если кто-то бежит к той же проблеме, я решил ее обход нормального пути загрузки Либерал, а также async5 рекомендуется, преобразуя непосредственно данные в массив байтов.

То есть, в viewer.js, добавьте эти строки под линией 6856:

if (file && file.lastIndexOf('data:', 0) === 0) { 
     // data: url-scheme. we will load those with direct conversion to byte array 

     function convertDataURIToBinary(dataURI) { 
      var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length; 
      var base64 = dataURI.substring(base64Index); 
      var raw = window.atob(base64); 
      var rawLength = raw.length; 
      var array = new Uint8Array(new ArrayBuffer(rawLength)); 

      for(var i = 0; i < rawLength; i++) { 
       array[i] = raw.charCodeAt(i); 
      } 
      return array; 
     } 

     // PDFViewerApplication.setTitleUsingUrl(file); 
     PDFViewerApplication.open(convertDataURIToBinary(file), 0); 

     return; 
    } 

(в base64 закодировать массив байт является один отправленным Codetoffel here)

+0

Что такое PDFViewerApplication в этом случае? ... Adobe Reader? – AkshayJ

+0

Нет, это класс, который является внутренним по отношению к pdf.js –

+0

Не существует ли какого-либо другого способа обхода, использующего pdf.js для его работы в IE11? ... Я имею в виду слишком много накладных расходов для поддержки только в IE :( – AkshayJ

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