11 may 2009

Cerrar Ventanas

En una página se abren varias ventanas popups para recabar información variopinta, pero deseo que si me salgo de la pantalla que abre esas ventanas, éstas no queden desperdigadas, si no que también se cierren.

Hago en javascript lo siguiente:


var VentanaIndex = 0;
var VentanasHijas = Array();
function cerrarVentanas()
{
if (VentanasHijas.length > 0)
{
for (var n=0; VentanasHijas.length; n++)
{
VentanasHijas[n].close();
}
}
}

function AbrirVentana(sURL, sName, sFeatures, bReplace)
{
VentanasHijas[VentanaIndex] = window.open(sURL, sName, sFeatures, bReplace);
VentanaIndex++;
return VentanasHijas[VentanaIndex];
}


En el html, el encabezado del body colocamos lo siguiente:


body onunload="cerrarVentanas();"


Cada vez que necesitemos abrir una ventana lo hacemos por medio de la función AbrirVentana así incrementamos el arreglo de ventanas que después cerramos si aun están abiertas a la hora de cerrar la pagina padre.

No necesitamos decrementar la variable VentanaIndex cuando cerramos los popups pues javascript no da error si la ventana a cerrar ya no existe.

Roy {aka. Foy}

Autor & Editor

Desarrallador y líder técnico, con experiencia en tecnologías Microsoft desde los tiempos del VB6 y el asp clásico hasta el .Net Core, pasando por COM+, javascript, angularjs, Ionic, xaml, cordova, MVC, Web Api, Sql Server, Oracle... . Ávido lector, apasionado programador.