Cerrar una ventana con Javascript

17/Sep/2009 JavaScript , 4 Comentarios
Ejemplos Programación en Javascript

Un ejemplo sencillo por el que me pregunta mucha gente. Cómo cerrar una ventana del navegador con JavaScript, es decir, sin que el usuario pulse sobre el aspa o seleccione Salir… Este ejemplo nos puede ser útil en infinidad de casos… por ejemplo cuando levantamos una ventana emergente y queremos dar la posibilidad de cerrarla.

El código es sencillo, simplemente tenemos que lanzar el método .close() del objeto Window. Por ejemplo, si queremos lanzarlo desde un enlace, el código sería el siguiente:

Cerrar la ventana

Ahora, que cuando lo pruebas, no funciona… con lo fácil que parecía. Si vamos a la consola del navegador (en este caso del Firefox) vemos lo siguiente:

window_close

Esto quiere decir que no podemos cerrar vía JavaScript una ventana que no esté abierta desde JavaScript.

Es por ello que, en primer lugar, tendremos que abrir una ventana. Échale un vistazo al artículo Abrir una Ventana con Javascript, el cual lo explica detalladamente. Pero, a grandes rasgos, será utilizar el método .open().

Una vez utilizado el método .open(), deberemos de guardarnos la referencia de la ventana abierta. Ya que será sobre esta referencia donde lancemos el método .close().

Ahora con la referencia, mywindow, cerramos la ventana:

Cerrar la ventana

Vídeos sobre Javascript


4 comentarios en “Cerrar una ventana con Javascript”

Víctor Cuervo

rodrigo p


les dejo la solución para firefox

Víctor Cuervo

pablo

justo lo que andaba buscando, gracias victor¡¡

sin embargo cuando lo ejecuto en Chrome me cierra la ventana actual, a que se debe q en Firefox me de ese aviso y en Chrome ejecute la accion?? en ambos deberia dar ese aviso no crees??

por cierto, ¿¿el href es necesario??

Gracias, saludos:D

Víctor Cuervo

JEsus

muy bueno, me ayudo mucho.

Gracias

Víctor Cuervo

Víctor Cuervo

Jesús,

Nos alegra mucho que te haya ayudado. :-D

Saludos.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*