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

238
Vistas
Abrir y cerrar un documento iframe dentro de `onload`

¿Habría algún tipo de problema o incompatibilidad de especificaciones causado por llamar

 // assume iframe.contentWindow was checked beforehand and is defined iframe.contentWindow.document.open(); iframe.contentWindow.document.close();

dentro de la función de carga de onload ?

p.ej

 iframe.onload = () => { // ... // assume iframe.contentWindow was checked beforehand and is defined iframe.contentWindow.document.open(); iframe.contentWindow.document.close(); }

El trasfondo de esto es que al crear un iframe amigable, quiero obtener una referencia a la ventana del iframe y hacer ciertas operaciones sin escribir o con un mínimo de escritura en el iframe de antemano usando document.write() y sin tener que usar setTimeout (ver https ://bugs.chromium.org/p/chromium/issues/detail?id=978325 y https://bugs.chromium.org/p/chromium/issues/detail?id=961428 para saber por qué sería necesario setTimeout )

El problema es que sin llamar a open o cuando se llama antes de la función de onload , la location del iframe se establece en about:blank (consulte https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html# paso 13 de apertura del flujo de entrada ). Esto también se puede resolver agregando un setTimeout después de abrir el documento (fuera de onload ) a costa del rendimiento, lo que me gustaría evitar.

La solución que implica llamar a open y close dentro de la función onload funciona en Chrome, Firefox y Safari, pero JSDom considera que contentDocument es null y que el iframe en sí mismo no tiene hijos cuando se usa este método (después de simular manualmente una llamada a onload , que es un problema separado, pero podría estar relacionado con el comportamiento)

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