jQuery .contents() в iframe, отображающем pdf в кодировке base64

#javascript #html #jquery #pdf #iframe

Вопрос:

У меня есть iframe, отображающий PDF-файл в кодировке base64. Как только он загрузился, я пытаюсь это сделать .contents().find(..) , однако он не находит содержимое. Внутри iframe находится правильно загруженный HTML-документ, содержащий PDF-файл, и текстовый элемент " " . Выполнение .contents() вернет один элемент, который является текстом " " .

Весь этот код отлично работает, если я не включаю строку base64 в качестве источника для iframe ( data:application/pdf;base64,.. ). Сам PDF отображается нормально и загружается правильно, но я не могу найти способ доступа к документу через JS / jQuery. Я не считаю, что это проблема со временем, так как в режиме отладчика, когда он останавливается в строке перед сбоем, я вижу, что содержимое загружено полностью (кроме того, .on('load', ..) используется метод).

Соответствующий код (ASP .ЧИСТЫЙ MVC):

HTML:

 lt;iframe class="converted-display" id="doc-iframe" src="@ViewBag.RAWData"gt; lt;/iframegt;  

JS:

 $(document).ready(function () {   var url = window.location.href   if (url.toLowerCase().includes("convert")) {  $('#doc-iframe').on('load', function () {  debugger  $('#doc-iframe').contents().find('body').addClass('..')   var element = $('#doc-iframe').contents().find('head').first()[0];   var style = document.createElement('style');   style.innerHTML = ..   window.styleNode = style;   element.parentNode.insertBefore(style, element);  })  }  })  

ViewBag.RAWData будет содержать строку ( data:application/pdf;base64,.. ).

Результат $(‘#doc-iframe’) при остановке в отладчике, ясно показывающий, что документ загружен

Отображение результата .contents() и попытка его индексирования

Чтобы исключить проблемы с асинхронностью, я также попробовал команды в консоли после полной загрузки страницы и столкнулся с теми же проблемами.

У кого-нибудь есть какие-либо предложения или ресурсы? Я прочитал документ для .contents() и различные другие документы, также перепробовал множество вариантов JS, а также различные методы отображения PDF-файлов, например, object, embed, что заставляет меня задуматься, является ли основной проблемой предоставляемый src.

Большое вам спасибо за любую помощь.

Обновить:

Проблема с перекрестным происхождением, которой я не ожидал, поскольку данные, по сути, жестко закодированы в момент их загрузки-есть какие-либо предложения о том, как это исправить?