Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2005, 16:32
Avatar de Roly1978
Roly1978
 
Fecha de Ingreso: junio-2005
Mensajes: 18
Antigüedad: 18 años, 11 meses
Puntos: 0
Cerrar Ventanas hijas al cerrar ventana madre y colocar focus a ventana hija abierta

Tengo un código que tomé de este foro que por medio de una ventana principal abre n cantidad de ventanas hijas (popus) y valida si esta última está o no abierta. Si está abierta le coloca un focus y si está cerrada la abre.

Cuando la ventana madre se cierra, todas las ventanas hijas lo hacen con ella....El código, en términos generales funciona bien, pero:

El problema es el siguiente: Cuando cierro manualmente la ventana hija y la vuelvo a llamar mediante la ventana principal, me genera un error debido a que una variable no se reinicializa para indicar que esta fue cerrada....Ojalá alguien tenga la solución a este pequeño inconveniente....A continuación el código:


Obviamente en todas las ventanas (principal e hijas) se hace referencia al archivo .inc
Archivo .inc:
<script language="JavaScript" type="text/JavaScript">
<!--
var ventana=new Array();
var P01=0;
//************************************************** *
function abreVentana(pagina,cont)
{
if (pagina=='Z_01.asp')
{
if (P01==0) //El valor de esta variable indica si la página está o no abierta (0=cerrada 1=Abierta). En este caso ejecuta lo que sigue si está cerrada
{
eval('ventana'+ cont + "=window.open(pagina,'ventana'+cont,'toolbar=no,me nubar=no,resizable=yes, scrollbars=yes,width = 700, height=460,top=50,left=50')");
P01=1;
}
else //Si está abierta (p01=1) entonces le hace un focus..
{
eval('ventana'+cont+".focus()");
}
}
return false;
}
//*********************************************
function Cerrar() //Cierra todas las ventanas hijas al cerrar la madre
{
for(m=1;m<=100;m++)
{
if(eval('ventana' + m))
{
eval('ventana' + m + ".close()");
}
}
}
//****************************************
function CerrarUnica(Cadena) //Supuestamente al cerrar la ventana hija de forma individual se deberia reinicializar la variable a 0 pero de alguna forma la considera como otra variable
{
eval('Cadena'+"=0");
}
//-->
</script>

Página Principal
<a href="Z_01.asp" onClick="abreVentana('Z_01.asp',1);return false;">Ventana N° 1</a><br>

Ventana Hija:

<body onUnload="CerrarUnica('P01')">

Última edición por Roly1978; 18/06/2005 a las 16:39