ESPAÑOL: ¡Bienvenido! Es la página inicial de OSIRIS LMS. Regístrese hoy mismo y obtenga acceso a todos nuestros CURSOS GRATUITOS. Clic aquí para registrarse ya. Hemos desarrollado una amplia gamma de cursos “online” (Programación, Multimedia, 3D, Habilidades suaves, etc.), disponibles 24X7. Para más detalle consulte la lista de Cursos Disponibles. Si tiene problemas con el acceso a la plataforma, vea el Tour Virtual de Osiris LMS. También puede consultar la sección de FAQ’s o enviar Solicitud de Soporte Técnico.

ForoForo de discusión
¿Cómo cerrar una ventana y sus ventanas hijas (PopUp’s)?
Buscador:
Foro > JavaScript > ¿Cómo cerrar una ventana y sus ventanas hijas (PopUp’s)?

Enviado por: Texto del mensaje
Support Osiris LMS 
Nivel : Jefe de Administradores
Mensajes : 114
> Perfil
Escrito el : Lunes 31-05-2010 A las : 17:44 ( > un mes )
Asunto : ¿Cómo cerrar una ventana y sus ventanas hijas (PopUp’s)?
Problema

En ocasiones necesitamos crear una o varias ventanas hijas desde la ventana principal de nuestra página, y sería estupendo que al cerrar la ventana madre, o abandonar la página mostrada en ella, también se cerraran las ventanas hijas. Por ejemplo puedo tener una ventana principal con un enlace que se abre en una ventana hija en la que se muestran avisos o mensajes y quiero que al cerrar la ventana madre o abandonar la página actual las ventana hija se cierre para ahorrarle al visitante el tener que cerrarla a mano.

Solución

La solución es muy fácil: se trata de hacer uso del evento onunload, un evento que se dispara cuando cambia el contenido de la ventana del explorador, es decir, cuando el usuario abandona la página que está viendo. Pero este evento también se dispara cuando el usuario cierra la ventana del explorador. Basta con vincularle una función que cierre las ventanas que anteriormente se abrieron usando el método window.open

Caso práctico

Un ejemplo sencillo que muestra cómo poner en práctica esta solución sería el que se muestra aquí abajo:

var ventanaHija = null;

function crearHija( )

{

ventanaHija = winfow.Open("avisos.htm", "ventana_hija");

}



function cerrarHija( )

{

if (ventanaHija)

ventanaHija.close( )

}

En la página colocamos el evento vinculado:

<body onunload="cerrarHija( )">

La variable ventanaHija sería el objeto window devuelto por window.open( ) cuando se creó la ventana hija. Se supone que en esta página existirá algún enlace, botón o evento que llamará a la función crearHija( )
Soporte de Osiris LMS
Amplía tus conocimientos en línea