Comunicándose entre ventanas
Si
bien no tiene sentido blur o focus
con la ventana principal, puede querer manejar el comportamiento
de otra ventana. Para comunicarse con una ventana usando JavaScript,
necesita una referencia a dicha ventana. Veamos este ejemplo
y luego veamos la explicación.
<p><a
href="#" onClick="window.open('ventana_referencia.html','wind_ref',
'height=400,width=400,menubar');">Obteniendo y usando
una ventana</a>.
Esto
abre una pequeña ventana.
Hay
una pocas líneas claves en este JavaScript. Primero,
abrimos una nueva ventana y obtenemos una referencia a ella:
var
new_window = window.open("hello.html","html_name","width=200,height=200");
Esto
abre una pequeña ventana y asigna una variable new_window
para referirse a ella. Del mismo modo que las variables pueden
contener número o tiras, las variables también
pueden contener referencias a objetos (en este caso un objeto
Ventana).
Ahora la variable new_window se comportará
como el objeto por defecto Window. Puede usar métodos
con ella. La siguiente línea muestra un ejemplo de llamar
un método sobre new_window: new_window.blur().
Ahora
un poco de truco, es como window.blur() desde
la última página. Estas dos líneas aparecen
en el encabezado HTML de la página.
Ver código fuente de la página si quiere ver todas
las cosas. Como he mencionado , tienda a poner el código
JavaScript en el encabezado HTML de las páginas HTML.
De este modo puedo encontrarlo cuando lo busco. Estas líneas
de JavaScript podrían haber estado en el cuerpo.
Ahora,
moviéndonos al cuerpo vemos dos enlaces que moverán
la nueva ventana hacia delante o hacia atrás:
<a
href="#" onMouseOver="new_window.focus();">Bring
it forward</a>
<a href="#" onMouseOver="new_window.blur();">Put
it backward</a>
Ahora es tiempo para un ejercicio:
Corra
el programa window_ref_extension.html en el
navegador. Una vez que lo haya ejecutado varias veces edite
su código y comprenda su comportamiento.