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

201
Vistas
Javascript no puede leer div de html

Tengo un código javascript que está conectado a un html llamado " old.html ". Hago algo allí y luego tengo otro html llamado " new.html " en el que quiero agregar elementos html allí.

Tengo este código en el que trato de asignar el div q1 a la variable myVar .

 var printWindow = window.open("http://10.180.101.58:5500/new.html", 'Print'); var myVar = printWindow.document.getElementById('q1');

mi html se ve así:

 <body> <form> <div id="q1"></div> </form> <script src="DemoCode.js"></script> </body>

Estos 2 archivos están en el mismo directorio, pero creo que el problema está en window.open()

No puedo hacer document.getElementById() porque también tengo el " old.html ", que digamos que es el html original conectado a mi javascript y cada vez que llamo a document.getElementById() obtiene elementos de ese.

¿Alguien sabe alguna forma para que pueda obtener elementos de " new.html ""?

Estoy usando <script src="DemoCode.js"></script> en ambos html para poder decir que ambos están conectados a mi javaScript.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Hay dos respuestas aquí:

  1. Si la ventana donde el código hace esto está en el mismo origen ( http://10.180.101.58:5500 ), debe esperar a que se cargue el DOM en la nueva ventana (por ejemplo, usando el evento DOMContentLoaded ) antes de puede acceder a ella.

  2. Si la ventana donde el código hace esto no está en el mismo origen que la nueva ventana que está abriendo, entonces no puede acceder a su DOM, ya que, por supuesto, eso sería un gran agujero de seguridad.

Así es como lo haría en el caso #1:

 const printWindow = window.open("http://10.180.101.58:5500/new.html", "Print"); printWindow.addEventListener("DOMContentLoaded", () => { const myVar = printWindow.document.getElementById("q1"); // ...use it here... });

Estoy usando <script src="DemoCode.js"></script> en ambos html para poder decir que ambos están conectados a mi javaScript.

Eso de ninguna manera conecta las ventanas (¡imagine todas las ventanas que estarían conectadas por jQuery o React cargadas desde un CDN!). Todo lo que hace es cargar el código en ese archivo en ambas ventanas.

about 4 years ago · Santiago Trujillo Denunciar
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