Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

584
Vistas
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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda