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:
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