Sonido
CSS
Dreamweaver
Ridiculeces
Artículos
Site Check
JavaScript


 


Aviso:
Me he trasladado a:
http://www.tecnorama.org
(con algunos de estos contenidos y otros nuevos)

El problema con close()

El método window.close() cierra la ventana del navegador especificada. Si se llama a close() sin especificar una referencia a una ventana, cerrará la última ventana activa.
Si se llama al método close() desde una ventana que no se abrió con un script, un aviso de confirmación alerta al usuario de que le ventana está a punto de cerrarse. Navigator no pide tal confirmación si la ventana sólo tiene un documento (el que acabas de abrir en la misma) en su historial.

Veamos un ejemplo: los siguientes enlaces abren una ventana nueva con el documento test1.html. El primero utiliza el método window.open() para abrirla, mientras el segundo simplemente enlace utilizando el atributo TARGET:


<A HREF="javascript:void(window.open('test1.html'))">Launch Window (con JavaScript)</A><BR>


<A HREF="test1.html" TARGET="_blank">Launch Window (con HTML)</A>


En el documento test1.html aparecerá un botón que ejecutará el método
window.close():


<FORM>
<INPUT TYPE="button" VALUE="Cerrar ventana" onClick="window.close()">
</FORM>


Cuando se usa el primer enlace para abrir la ventana nueva, el navegador "recuerda" que fue abierta con un script, de manera que cuando pulsas con el botón, la ventana se cierra sin pedir confirmación. En el segundo enlace, en cambio, Explorer pedirá confirmación . Navigator también cerrará el enlace sin pedir confirmación porque no tiene más documentos en el historial de la ventana (aparte de test1.html).

COMENTARIO PERSONAL: Tengo que confesar que tal situación sólo se me ha producido con frecuencia en IE5, en la versión IE5.5, la ventana abierta mediante un enlace normal me la ha cerrado sin pedirme confirmación. Sin embargo considero necesario (para asegurarse) seguir estas indicaciones.