Ver Mensaje Individual
  #16 (permalink)  
Antiguo 15/01/2004, 09:03
Avatar de tunait
tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 6 meses
Puntos: 381
'nass....



if(eval('ventana' + m))

Para abrir una ventana popup no es necesario asignarle un nombre, pero sí es necesario si luego queremos referenciarla desde la madre, en este caso, para cerrarlas.

Si se ha de abrir más de una ventana asignándole un nombre es necesario que cada nueva que se abra tenga un nombre distinto, o se abrirían todas las url en la misma popup en vez de lanzar una nueva en cada ocasión.

Así se les asigna un nombre fijo "ventana" y se le añade detrás un número consecutivo.

si le pedimos if('ventana'm) lo tomará como una cadena y no comprenderá lo que le estamos pidiendo que compruebe, así que usamos el método eval() para que evalúe su contenido y lo tome por objeto, y así es como lo identifica como el nombre de una ventana.

El condicional if(ventanaNumero) pregunta si ese objeto existe. Si está abierta, existe y devuelve true, con lo que se ejecutan las sentencias del if.

Si se ha cerrado, devuelve false y no se ejecutan las sentencias.

Si no se preguntara primero si existe el objeto, y se le pudiera que lo cierre, daría error del tipo "ventanaNmumero no está definido" o algo así.

Espero haberme explicoteado