Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

587
Views
JQuery .contents() en un iframe que muestra un pdf codificado en base64

Tengo un iframe que muestra un PDF codificado en base64. Una vez que se ha cargado, intento hacer .contents().find(..) , sin embargo, no encuentra el contenido. Dentro del iframe se encuentra el documento HTML cargado correctamente que contiene el PDF y un elemento de texto " " . Hacer .contents() devolverá un elemento, que es el texto " " .

Todo este código funciona bien si no incluyo la cadena base64 como fuente para el iframe ( data:application/pdf;base64,.. ). El PDF en sí se muestra bien y se carga correctamente, pero no puedo encontrar una forma de acceder al documento a través de JS/JQuery. No creo que esto sea un problema de sincronización, ya que en el modo de depuración cuando se detiene en la línea antes de que falle, puedo ver que el contenido se cargó por completo (además, se está utilizando el método .on('load', ..) ).

Código relevante (ASP .NET MVC):

HTML:

 <iframe class="converted-display" id="doc-iframe" src="@ViewBag.RAWData"> </iframe>

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 contendrá una cadena ( data:application/pdf;base64,.. ).

El resultado de $('#doc-iframe') cuando se detuvo en el depurador, mostrando claramente que el documento se cargó

Mostrando el resultado de .contents() e intentando indexarlo

Para descartar problemas asíncronos, también probé los comandos en la consola después de que la página se había cargado por completo y encontré los mismos problemas.

¿Alguien tiene alguna sugerencia o recurso? He leído el documento para .contents () y varios otros documentos, también he probado una multitud de variaciones en el JS, así como diferentes métodos para mostrar archivos PDF, por ejemplo, objeto, incrustado, lo que me hace preguntarme si el problema raíz es el src que se está proporcionando.

Muchas gracias por cualquier ayuda.

ACTUALIZAR:

Problema de origen cruzado, que no esperaba ya que los datos están esencialmente codificados en el punto en que se cargaron. ¿Alguna sugerencia sobre cómo solucionarlo?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!