> Manuales > Control de ventanas secundarias, popups, con Javascript

Podemos pasar datos de unas ventanas a otras, llamar a funciones y realizar comunicaciones en general para interactuar con las ventanas. Aprendemos también a asignar nombres a ventanas secundarias.

La gracia del trabajo con ventanas secundarias consiste en que tanto la ventana principal como el popup se puedan comunicar entre si y mandarse órdenes y comandos desde una a la otra.

La comunicación podrá ser en dos sentidos:

  1. Desde la ventana principal a la secundaria.
  2. Desde la ventana secundaria a la principal.
Si queremos comunicar desde la ventana principal hacia la secundaria necesitamos disponer de una referencia de dicha ventana secundaria o popup. La referencia la será el nombre que le pongamos a la ventana secundaria. A continuación en este artículo veremos cómo asignar un nombre a un popup.

Si la comunicación es desde la ventana secundaria a la principal debemos utilizar el atributo opener de dicha ventana secundaria, que referencia a la ventana principal. Tanbién veremos más adelante este tipo de comunicación.

Nombre de la ventana con Javascript

Cuando abrimos una ventana utilizando el método open del objeto window asignamos un nombre a la ventana para referirnos a ella utilizando HTML. Pero si queremos referirnos a ella utilizando Javascript necesitaremos utilizar otro nombre.

La referencia Javascript a la ventana que se acaba de abrir se obtiene gracias al valor de retorno del método open. Para guardar la referencia asignamos el valor de retorno del método a una variable. A partir de ese momento la variable será un sinónimo del objeto window, es decir, será como si fuera el objeto window del popup y por lo tanto podremos acceder a los métodos y propiedades de la ventana secundaria a partir de esa variable.

referenciaVentana = window.open(“mi_url.html”,”nombre”,”width=100,height=300”)

Luego podremos acceder a los métodos y propiedades de esta manera.

referenciaVentana.close()

referenciaVentana.document.bgColor = “red”

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online Escu...

Manual