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){
e = false
for(t = 0; t < lVentanas.length; t++){
if(lVentanas[t]== id){
e = 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(t = 0; t < lVentanas.length; t++){
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')">