Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2009, 12:13
Avatar de drac94
drac94
 
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años, 10 meses
Puntos: 5
Cerrar ventanas hijas por medio de la ventana padre

que tal, tengo un script que lo que hace es un manejo de ventanas, basicamente se compone de 3 funciones una que abre una nueva ventana y guarda un identificador en un array, otra que cierra todas las ventanas y por ultimo una que elimina el identificador del array si se cierra la ventana manualmente

si funciona, pero tiene un problema, la funcion que cierra todas las ventanas no se por que siempre se brinca la segunda, lo voy a poner para que lo vean y les explique mejor

Código PHP:
var lVentanas  = new Array()
function 
abreVentana(pagina,id){
    
false
    
for(0lVentanas.lengtht++){
        if(
lVentanas[t]== id){
            
true;
            break;
        }
    }
    if(!
e){
    eval(
id+"=window.open(pagina,'" id "')")
        
lVentanas[lVentanas.length] = id
    
}else{
    eval(
id).focus();
    }
    
alert(lVentanas.length);
}

function 
cerrar(){
alert(lVentanas.length);
    for(
m=0;m<lVentanas.length;m++){
    eval(
lVentanas[m]).close()
}
    
lVentanas.length 0
}

function 
cerrarUnica(id){
var 
lVentanasAux  = new Array()
var 
i=0;
for(
0lVentanas.lengtht++){
        if(
lVentanas[t]!= id){
            
lVentanasAux[i]=lVentanas[t];
            
i++;
        }
}
lVentanas = [].concat(lVentanasAux);

la funcion cerrar es en donde se cierran todas las ventanas, si ven lo unico que hace es recorrer el array e ir cerrando cada ventana, pero se brinca una, si en vez de
Código PHP:
eval(lVentanas[m]).close() 
pongo un
Código PHP:
alert(lVentanas[m]) 
si me muestra todos los elementos del array, pero si pongo esas 2 instrucciones juntas, tmb el alert se brinca una, a ver si me pueden ayudar, Gracias

ah y otra cosa es q el metodo focus en el mozilla no funciona y en el IE si, y no he encontrado como solucionarlo

ya por ultimo en cada ventana que abro tengo esto en el body
Código PHP:
<body onUnload="window.opener.cerrarUnica('id1')"