Foros del Web » Programando para Internet » Javascript »

recargar pág abuela

Estas en el tema de recargar pág abuela en el foro de Javascript en Foros del Web. gracias programeitor... blur() parece (según la documnetación) sólo para campos de formularios... Probe con hide() pero no me funciona... estoy resolviendo con resizeTo() y moveTo() ...

  #31 (permalink)  
Antiguo 27/10/2005, 08:38
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
gracias programeitor... blur() parece (según la documnetación) sólo para campos de formularios...

Probe con hide() pero no me funciona... estoy resolviendo con resizeTo() y moveTo()

Gracias de todas todas... y a todos, jeje
__________________
Gracias de todas todas
-----
Linux!
  #32 (permalink)  
Antiguo 27/10/2005, 08:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Cita:
Iniciado por programeitor
perdona que insista pero al ver la lista de lo que has probado te falta la forma que te comente.

window.opener.opener.parent.top.location.reload();
Hola:

programeitor: parent.top lo puedes sustituir por top (lo mismo que top.parent)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #33 (permalink)  
Antiguo 27/10/2005, 09:32
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Si lo que quieres es cerrar ventana1.php, en el onload del body de ventana2.php tienes que poner esto:

<body onload="window.opener.close()">
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #34 (permalink)  
Antiguo 27/10/2005, 15:41
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Cita:
Iniciado por caricatos
Hola:

programeitor: parent.top lo puedes sustituir por top (lo mismo que top.parent)

Saludos
Podrás creer que si hago la sustitución, deja de funcionar???

Por eso, preferí irme por lo seguro y dejarlo reforzado...
__________________
Gracias de todas todas
-----
Linux!
  #35 (permalink)  
Antiguo 27/10/2005, 16:26
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años
Puntos: 2
Estaría bien que al final de este post pusieras cual es el código que te ha funcionado porque menudo lio
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #36 (permalink)  
Antiguo 27/10/2005, 16:33
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola:

Te debo creer porque no soy quien para dudar de lo que dices, pero basándome en lo que comenté más arriba, preparé está sencilla página:

Código:
<html>
<body>
<iframe name="ventana" style="width: 100%; height: 90%;"></iframe>
<input type="text" onblur="window.name=this.value" />
<a href="top.html" target="ventana" >abrir copia</a>
<input type="button" onclick="alert(parent.name)" value="parent" />
<input type="button" onclick="alert(top.name)" value="top" />
<input type="button" onclick="alert(top.parent.name)" value="top.parent" />
<input type="button" onclick="alert(parent.top.name)" value="parent.top" />
</body>
</html>
Que puedes ver online aquí: http://www.pepemolina.com/probador/top.html

Es cuestión de abrir copias (hay un enlace) darle nombres distintos a cada página (para eso están los recuadros de texto) y ver los resultados de los botones... muy sencillo y que demuestran que lo que puse es correcto... aunque hay muchas cosas que no siempre van bien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #37 (permalink)  
Antiguo 27/10/2005, 18:04
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 3 meses
Puntos: 9
con window.blur() lo que se consigue es que la ventana se ponga detras de las demas.

dices caricatos, que parent.top se puede resumir en top. ,pero ,¿ que sucederia si este frame(aa) que es el que abre el popup ,estuviese dentro de otro frame(a)?
¿ Como harias la llamada para recargar el frame(a) entero ?

creo que seria:
opener.opener.parent.top
¿ opener.opener.top ? creo que daria como resultado frame(aa)

y para la ventana principal:
opener.opener.parent.parent.top
¿ opener.opener.top.top ? creo que daria como resultado frame(a)

con top te refieres a toda una ventana, pero es que un frame es una ventana, top se utiliza para referenciar a una ventana padre desde un frame hijo ,y parent para referirse a la ventana padre.

¿ puede ser ?
  #38 (permalink)  
Antiguo 28/10/2005, 06:44
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Cita:
Iniciado por programeitor
con window.blur() lo que se consigue es que la ventana se ponga detras de las demas.
Vale... pero, a mi, por alguna razón, no me funciona ni window.blur() ni window.hide()... lo resolví maniobrando con resizeTo() y moveTo()
__________________
Gracias de todas todas
-----
Linux!
  #39 (permalink)  
Antiguo 28/10/2005, 06:56
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 3 meses
Puntos: 9
De acuerdo, si ya lo has resuelto.... ,pero por si acaso, si no te funciona el blur(), sera que no se lo estas aplicando a la ventana correcta, la instruccion es similar que para la recarga, pero en vez de reload(), blur().

window.opener.opener.parent.top.blur()
  #40 (permalink)  
Antiguo 28/10/2005, 07:02
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Cita:
Iniciado por living
Estaría bien que al final de este post pusieras cual es el código que te ha funcionado porque menudo lio
Vale... veamos... reordenando las ideas y recreando la situación, tenemos...

principal.php que contiene 3 frames

frame2.php permite, entre otras cosas, abrir la ventana desplegable sesion.php para iniciar una sesión en el portal...

frame3.php permite, muestra una foto y tiene 2 enlaces para agregar la foto a mi album personal o agregar el album completo (el album se visualiza en el frame1) a mi album personal, respectivamente...

En el caso de no estar logeado aún, se presenta una ventana emergente temp.php que da una presentación e invita o a registrarse en el sitio (registrarse.php) o a iniciar la sesión (sesion.php, nótese que es la misma ventana que salta desde el frame2, y que en este momento es "nieta" de principal)

Pues, en código, lo resolví en temp.php así:
1.- almaceno en una variable el nombre de archivo del script ejecutándose actualmente.
2.- almaceno en una variable, sí voy a guardar la foto o el album

Código PHP:
$_SESSION['cadena']=$_SERVER['PHP_SELF'];
$_SESSION['guardar']=$_REQUEST[guardar]; 
En sesion.php:
1.- averigu de dónde viene la llamada a sesion.php
2.- una vez iniciada la sesión, refresco principal.php, cierro temp.php y cierro sesion.php
3.- el gran problemon:
3.1- si viene de frame3, averiguo qué es lo que voy a guardar, foto o album
3.2.- si viene de frame2, refresco principal.php y cierro sesion.php

Código PHP:
$cadena=$_SESSION['cadena'];
$cadena2="sesion2";
$pos=strpos($cadena$cadena2);
if ( !empty(
$pos) ) {
  echo 
"<script language=\"JavaScript\" type=\"text/javascript\">";
  echo 
"window.opener.opener.parent.top.location.reload();";
  echo 
"window.opener.close();";
  echo 
"window.close();";
  if (
$_SESSION['guardar']===f)
    echo 
"window.open(\"privado.php\", \"privado\", \"width=350, height=150, left=350, top=300\")";
  elseif (
$_SESSION['guardar']===a)
    echo 
"window.open(\"aprivado.php\", \"privado\", \"width=350, height=150, left=350, top=300\")";
  echo 
"</script>";
} else {
    echo 
"<script language=\"JavaScript\" type=\"text/javascript\">";
    echo 
"window.opener.parent.top.location.reload();";
    echo 
"window.close();";
    echo 
"</script>";
  } 
y bueno, obviamente hay cosas no descritas de las acciones del script, pero no vienen al caso...

Gracias a todos, y pendientes...
__________________
Gracias de todas todas
-----
Linux!
  #41 (permalink)  
Antiguo 28/10/2005, 07:10
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Cita:
Iniciado por programeitor
De acuerdo, si ya lo has resuelto.... ,pero por si acaso, si no te funciona el blur(), sera que no se lo estas aplicando a la ventana correcta, la instruccion es similar que para la recarga, pero en vez de reload(), blur().

window.opener.opener.parent.top.blur()

<body onload="window.opener.parent.top.blur();">
<body onload="window.opener.parent.top.hide();">

NI así, ni asa...

¿blur() y hide() son estándares? digo, comprobados para cualquier navegador o plataforma???

casi podríamos empezar un nuevo hilo con blur() y hide()... que nos sirva a todos los usuarios del foro...
__________________
Gracias de todas todas
-----
Linux!
  #42 (permalink)  
Antiguo 28/10/2005, 07:23
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
ok... retomando el asunto original...

Estoy haciendo pruebas...

Mi plataforma esta montada en Debian, utilizo Firefox como navegador...

Pruebo en mi compu y todo va bien...

He probado en una compu con Guin2, y el window.opner.opner.parent.top.location.reload() no funciona bajo firefox...

alguna idea???
__________________
Gracias de todas todas
-----
Linux!
  #43 (permalink)  
Antiguo 28/10/2005, 07:34
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 3 meses
Puntos: 9
hide() no lo conozco y no me funciona ,blur() sí es aplicable a las ventanas, y produce que se ponga por detras.


Prueba este codigo:

<script>
functionfun()
{
x=window.open()
y=x.window.open()
y.opener.opener.blur()
}
</script>
<inputtype="button"value="x"onclick="fun()">

  #44 (permalink)  
Antiguo 28/10/2005, 07:40
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Ahora empiezo a notar, que todo el rollo con el window.opener.parent.top.location.reload() y window.opener.opener.parent.top.location.reload() y todo ese asunto, funciona de a ratos...

según el explrador y el SO, cambia el comportamiento del js...

¿falta de estandarización?
__________________
Gracias de todas todas
-----
Linux!
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 08:38.