Foros del Web » Programando para Internet » Javascript »

Aclaración de top.opener.top ...

Estas en el tema de Aclaración de top.opener.top ... en el foro de Javascript en Foros del Web. Hola, sería genial si me pudieseis aclarar un pequeño problema que tengo. Vereis, me logo en un entorno que tiene un proxy determinado, llego a ...
  #1 (permalink)  
Antiguo 20/12/2006, 11:08
Avatar de skaperna  
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 19 años, 10 meses
Puntos: 1
Aclaración de top.opener.top ...

Hola,

sería genial si me pudieseis aclarar un pequeño problema que tengo.
Vereis, me logo en un entorno que tiene un proxy determinado, llego a una determinada página, y con esa página cargada pongo en la barra de direcciones lo siguiente:

Código PHP:
javascript:top.frames['Inferior'].frames['Cos'].location.replace("/demo/index.php"); 
y se me abre un popup con mi interficie (esto es en modo pruebas, más adelante habrá un botó que abra el popup directamente).

Entonces, dentro de mi aplicación existen unos links cuya función es ejecutar un javascript en la ventana padre, tal que así:

Código PHP:
             top.opener.top.frames['Inferior'].frames['Menu'].Operativa(variable); 

Tengo 2 dudas/problemas:

1) Podríais aclararme el concepto de top.opener.top ??? el opener se que es para abrir la ventana padre, pero y los "top" de delante y detrás?? para que sirven???

2) Si se clicka por primera vez en alguno de estos enlaces, en la ventana padre se ejecuta la función javascript Operativa, pero si se clicka de nuevo en otro link del mismo tipo, me da error:

En firefox dice:

Código PHP:
top.opener has no properties 
y en IE dice:

Código PHP:
"Permission denied" con codigo:
A que puede ser debido esto??

Muchas gracias por la futura ayuda recibida.

Skaperna
__________________
La sangre son las lágrimas del alma...
  #2 (permalink)  
Antiguo 20/12/2006, 11:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: Aclaración de top.opener.top ...

Hola:

El concepto de "padre" tal vez no sea el adecuado, tal vez sea mejor hablar de "tío"... en un sistema de marcos (frames) existe el objeto "parent" que refiere al contenedor de marcos y top sería el ancestro del sistema.

Si una página tiene un frame o iframe, esta página se relaciona con sus descendientes directos por el nombre (puede ser directamente o mediante la colección (array) window.frames[]... los frames reconocen a la ventana contenedora como parent, y si hay más niveles puede anidarse con: parent.parent.[parent.]... y el superior es top (top.top == top, pero parent.parent != parent)...

Pero si en vez de frames son ventanas aparte (tal vez popu's) los "sobrinos" también se reconocen con su nombre o window.frames, pero un popup no tiene parent sino opener... entonces top referencia a un sistema de marcos y top.opener referencia al tio del ancestro... (¡Uy! creo que lo voy a dejar por ahora, porque es lioso, y puede ser algo confuso)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 21/12/2006, 02:57
Avatar de skaperna  
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 19 años, 10 meses
Puntos: 1
Re: Aclaración de top.opener.top ...

Ante todo gracias

Un poco lioso si que es ... puede ser entonces que el error que me da tanto en Firefox como en IE , sea debido a que cuando se carga una vez el link de

Código PHP:
top.opener.top.frames['Inferior'].frames['Menu'].Operativa(variable); 
para una segunda vez, ha perdido la referencia del "tio" (es decir de la ventana que abrió mi popup??)

Muchas graciasssssss
__________________
La sangre son las lágrimas del alma...
  #4 (permalink)  
Antiguo 21/12/2006, 04:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 9 meses
Puntos: 1284
Re: Aclaración de top.opener.top ...

Hola:

Es que el anidamiento es difícil de controlar cuando hay muchos niveles... además si alguna página pertenece a otro dominio provoca un error de seguridad.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 21/12/2006, 05:18
Avatar de skaperna  
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 19 años, 10 meses
Puntos: 1
Re: Aclaración de top.opener.top ...

Aaaaysss, que creo que has dado en el clavo... mea culpa, pq seguramente debería explicarme mejor.

Verás... la ventana principal está en un entorno X detrás de un proxy, y el popup que se lanza està en un dominio Y.

Buscando por internet el error que me daba en IE (Permission denied), había visto que podía ser por lo mismo que has dicho tú.... ahora bien...
como sería posible arreglar esto??? y como es que la primera vez que se clicka en un link no da error???

Thanks again!!!
__________________
La sangre son las lágrimas del alma...
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 01:38.