Foros del Web » Programando para Internet » Javascript »

acceder a la coleccion ventanas??

Estas en el tema de acceder a la coleccion ventanas?? en el foro de Javascript en Foros del Web. hola. imaginaros una pagina desde la que abre muchas otras ventanas mediante window.open, pues bien, despues necesito cerrarlas todas. por lo que he pensado que ...
  #1 (permalink)  
Antiguo 05/03/2003, 16:10
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 7 meses
Puntos: 2
acceder a la coleccion ventanas??

hola.

imaginaros una pagina desde la que abre muchas otras ventanas mediante window.open, pues bien, despues necesito cerrarlas todas.
por lo que he pensado que lo suyo seria acceder a los elementos de la coleccion window y cerrarlas 1 por 1.

algo asi:
for i=0 to window.element.ventanas.....
ventana.close()


lo que pasa que no se como se accede a la coleccion ventanas en javascript....

alguien lo sabe o sugerencias de como puedo hacer esto?? queda descartado la opcion de abrir las ventanas creandoles una referencia para despues poder cerrarla, var a=window.open..., a.close()

no puedo crearles una refrencia.
  #2 (permalink)  
Antiguo 05/03/2003, 16:25
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola Ruchu:

Deberías abrir las ventanas asignándolas a variables (podría ser un array )
y luego cerrarlas con el método close...

var ventana[i] = window.open(...);
ventana[i].close()

saludos
  #3 (permalink)  
Antiguo 05/03/2003, 16:37
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 7 meses
Puntos: 2
no puedo asignarles una variable a las ventanas, igualmente estoy seguro que se puede acceder a ellas a traves de su coleccion, como todas o casi todas las cosas en javascript.

como se accede a la coleccion window o como puedo cerrar las ventanas????
  #4 (permalink)  
Antiguo 05/03/2003, 17:01
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
El tema está en que javascript considera como colección de ventanas a los frames e iframes contenidos en esa ventana, pero no cuenta las abiertas con el método open, y si las cuenta no he encontrado la forma de acceder a ellas.


¿por qué no puedes asignarles un nombre?
  #5 (permalink)  
Antiguo 06/03/2003, 03:50
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 7 meses
Puntos: 2
resulta que el document htm que abre como unas 100 o 150 ventanas ya esta hecho.

pues queria ahorrarme el tener que modificar ese documento htm y no asignar a cada ventana una variable.

pero vaya estoy viendo que va a ser la unica manera. o eso parece.
  #6 (permalink)  
Antiguo 06/03/2003, 09:23
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola de nuevo,


quiero creer que tus ventanas las abres desde javascript con alguna función.

Haciendo tan sólo unos mínimos cambios o añadidos a la función se puede lograr dar un nombre dinámicamente a cada ventana que abras sin preocuparte de nada más (la función se encarga de crear nombres distintos)

Luego para cerrar todas las ventanas con algún elemento que llame a otra función se cierran todas.

Sería algo así:

Código PHP:
<script language="javascript">
var 
cont 0
function abreVentana(pagina)
{
cont++
eval(
'ventana'cont "=window.open(pagina,'ventana'+cont,'')")
}

function 
cerrar()
{
for(
m=1;m<=cont;m++)
    {
    if(eval(
'ventana' m))
        {
        eval(
'ventana' ".close()")
        }
    }
cont=0
}
</script> 
A las ventanas se las sigue llamando igual (llamando a la función de abrir)

<a href="#" onClick="abreVentana('')">abrir</a> (o como se llame tu función)

Y al de cerrar....

<a href="#" onClick="cerrar()">cerrar</a>

Puedes probarlo aqui

Pincha varias veces en abrir para que se abran unas cuantas y luego le das a cerrar

yá me dirás algo
  #7 (permalink)  
Antiguo 06/03/2003, 11:54
Avatar de Ruchu  
Fecha de Ingreso: octubre-2001
Mensajes: 698
Antigüedad: 22 años, 7 meses
Puntos: 2
gracias, lo hare de esta manera.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:12.