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. Saludos Tengo una pág que contiene 3 frames. En el frame 2, un enlace que me abre una ventana emergente para iniciar sesión. Ésta ventana ...

  #1 (permalink)  
Antiguo 24/10/2005, 08:33
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
recargar pág abuela

Saludos

Tengo una pág que contiene 3 frames.

En el frame 2, un enlace que me abre una ventana emergente para iniciar sesión. Ésta ventana emergente, inicia sesión, muestra un mensaje (alert) de inicio correctamente, y recarga la pág que lo abrió... (window.opener.parent.top.location.reload();)

En el frame 3, tengo un enlace que me abre una ventana emergente, que me muestra la opción de inicar sesión y registrarme. Al seleccionar alguna de ellas, se cierra, y abre en ventanta emergente...

En el caso de iniciar sessión, es el mismo script para cualquier vía.

Pero, como en el segundo caso, la ventanta emergente es abierta por otra ventana emergente, no recarga la pág ppal...

¿cómo puedo lograr esto?

Gracias de una
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 24/10/2005, 08:51
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
leete esto y d repente encuentra lo que buscas...
si tienes algun comentario me avisas.

saludos.
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 24/10/2005, 09:03
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
leo esto???
__________________
Gracias de todas todas
-----
Linux!
  #4 (permalink)  
Antiguo 24/10/2005, 09:14
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
jajajajaja disculpa.... se me paso ponerte el link
http://www.forosdelweb.com/f13/problemas-con-iframes-339562/

chequea los ejemplos que hice alli y me dices si alguno te sirve..... si puedes leerlo cool...
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #5 (permalink)  
Antiguo 24/10/2005, 09:32
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
mmm, ok... pero, necesito recargar la pág abuela, la que contiene los frames, no un frame en particular...
__________________
Gracias de todas todas
-----
Linux!
  #6 (permalink)  
Antiguo 24/10/2005, 09:37
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
ok, dejame ver si te entendi. quieres recargar esto asi?:

ABUELA--
|
PADRE--
|
HIJO

que el hijo "refresque" a la abuela?? ES ESO?
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #7 (permalink)  
Antiguo 24/10/2005, 09:41
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
sipi, eso mismo
__________________
Gracias de todas todas
-----
Linux!
  #8 (permalink)  
Antiguo 24/10/2005, 10:20
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
abuela.html

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Abuela</title>
</head>
<body>
<div id="texto">SOY LA ABUELA</div><BR />
<iframe src="padre.html" frameborder="0" name="abuela" id="abuela" width="100%" height="400"></iframe>
</body>
</html> 
padre.html

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Padre</title>
</head>
<script language="javascript">
 function refresca_a_mi_abuela_papa() {
  //parent.top.location.reload();
  parent.document.getElementById("texto").innerText = "SOY LA ABUELA REFRESCADA!!!"
 }
</script>
<body bgcolor="#FF0000">
SOY EL PADRE<BR />
<iframe src="hijo.html" frameborder="0" name="padre" id="padre" width="70%" height="200"></iframe>
</body>
</html> 
hijo.html

Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>hijo</title>
</head>
<body bgcolor="#FFFFCC">
SOY EL HIJO<br><br>
<a href="javascript:void(0);" onClick="parent.refresca_a_mi_abuela_papa()">REFRESCATE!!</a>
</body>
</html> 
espero que esté bien esto...
saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #9 (permalink)  
Antiguo 24/10/2005, 10:29
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:

Las jerarquías más o menos son así:

El abuelo o tatarabuelo (ancestro) es top... luego el pade es parent y el padre del padre es parent.parent... y así cada uno... aunque en un sistema que esté relacionado y que tengan cada uno su nombre, debería bastar usar window.frames["y_aquí_el_nombre"]...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 24/10/2005, 10:34
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
o sea que seria.... top.parent.parent.lo_que_sea???
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #11 (permalink)  
Antiguo 24/10/2005, 10:38
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
tienes razón... no me la sabia.... hice la prueba y funciona.

estimado cacr. gracias a caricatos nos ahorraremos algo de codigo....

Código PHP:
parent.parent.location.reload(); 
Código PHP:
//parent.parent.document.getElementById("texto").innerText = "SOY LA ABUELA REFRESCADA!!!" 
gracias caricatos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #12 (permalink)  
Antiguo 24/10/2005, 10:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
¡NOOOO!

encima del top no hay nada... el top puede equivaler al parent o al parent.parent

Pero a partir del top puedes navegar por sus descendencias...
top.hijoDerecho.nietoCentral...

Pero desde nietoCentral, el parent es también top.hijoDerecho...

La verdad es que puede crear confusión, pero así son las jerarquías (al menos así las conozco)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #13 (permalink)  
Antiguo 24/10/2005, 10:45
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 20 años, 11 meses
Puntos: 5
Cita:
Iniciado por caricatos
¡NOOOO!

encima del top no hay nada... el top puede equivaler al parent o al parent.parent

Pero a partir del top puedes navegar por sus descendencias...
top.hijoDerecho.nietoCentral...

Pero desde nietoCentral, el parent es también top.hijoDerecho...

La verdad es que puede crear confusión, pero así son las jerarquías (al menos así las conozco)

Saludos
ok, entiendo....
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #14 (permalink)  
Antiguo 24/10/2005, 12:25
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
es decir, que el top me debería servir para referirme al padre... o al abuelo, cierto?

Pues a mi no me funciona!

Fíjense como lo tengo,

Código HTML:
<?php
  // sesion.php
  include("../pages/includes/funciones.php");
  session_start();
?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>Encuestas</title>
</head>
<body>
  <table>
    <tbody>
      <tr>
        <TD align="center" colspan="2">Bienvenid@!<br></TD>
      </tr>
      <tr><TD height="20"></TD><tr>
    </tbody>
  </table>
<hr><?php
$usuario=$_REQUEST[usr];
  $clave=$_REQUEST[clv];
  if ( !empty($usuario) && !empty($clave) ) {
    $clave_enc=md5($clave);
    $q_consulta="SELECT * FROM album_personal WHERE usuario='$usuario' AND clave='$clave_enc' AND activo='1'";
    $r_consulta=pg_query($q_consulta);
    $c_consulta=pg_num_rows($r_consulta);
    if ($c_consulta>0) {
      $_SESSION['usuario']=$usuario;
    ?><script language="JavaScript" type="text/javascript">
        window.opener.parent.top.location.reload();
        alert('Has iniciado sesión correctamente');
        window.close();
      </script>
      <?php
    }
  }
?><FORM name="iniciar" method="POST">
    <table align="center" border="0" cellpadding="2" cellspacing="2">
      <tbody>
        <tr><TD height="30"></TD></tr>
        <TR>
          <TD>Nick:</TD>
          <TD><INPUT type="text" name="usr" size="15"></TD>
        </TR>
        <TR>
          <TD>Clave:</TD>
          <TD><INPUT type="password" name="clv" size="15"></TD>
        </TR>
        <tr><></TD></tr>
      </tbody>
    </table><hr>
    <table>
      <tbody>  
        <TR><TD></TD></TR>
        <TR>
          <TD align="center" height="40" colspan="2">
            <A href="#" onclick="javascript: asesion();"><IMG src="../img-galeria/okbtn.gif" border="0"></A>
          </TD>
        </TR>
      </tbody>
    </table>
  </FORM>
</body>
</html> 
así funciona con la ventana del padre...

Si cambio,
window.opener.parent.top.location.reload();

por top.location.reload(); ó por parent.location.reload(); sencillamente deja de funcionar... y ni hablar del parent.parent...
__________________
Gracias de todas todas
-----
Linux!
  #15 (permalink)  
Antiguo 25/10/2005, 02:49
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:

Si el mayor ancestro es el abuelo, se referencia por top... y si ese abuelo tiene padre referenciaría a ese padre (si no tuviese otro antecesor)... y desde top solo se puede ir hacia abajo... si tiene nombrees lo que hay que poner (si no fuera así habría que usar índices... y sería más complejo)

Pero si se usa top no tiene sentido usar parent (ni antes ni después... el top del parent y el parent del top es lo mismo...¡uy ¿qué lío...?)

Detrás del top solo puede haber descendientes... top.hijo_del_top.nieto_del_top.

Y detrás del parent solo puede haber hermanos (otros hijos del padre)...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #16 (permalink)  
Antiguo 25/10/2005, 06:13
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
o sea que...?
__________________
Gracias de todas todas
-----
Linux!
  #17 (permalink)  
Antiguo 25/10/2005, 06:46
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
fijaos... en el momento que quito el opener deja de recargar la pág padre...

Imagino que estoy medio desorientado en el tema... así que, disculpen ustedes, pero...
__________________
Gracias de todas todas
-----
Linux!
  #18 (permalink)  
Antiguo 25/10/2005, 08:14
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
tiene algo que ver, el hecho que esté tratando de refrescar desde una ventana emergente???
__________________
Gracias de todas todas
-----
Linux!
  #19 (permalink)  
Antiguo 25/10/2005, 10:24
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:

Una ventana emergente (popup) se relaciona con la que lo abre con opener (bueno, ya estamos hablando de tíos y cuñados...

puede ser opener.parent.location.reload() (tal vez con otro parent...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #20 (permalink)  
Antiguo 25/10/2005, 12:11
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
me trae de cabeza...

El código de la ventana emergente que debe recargar, fue el coloqué arriba... ahí se puede ver, cómo tengo "armado" el script...

Cuando lo llamo desde la ventana emergente intermedia (padre, intermedia, en_cuestión) sencillamente deja de funcionar... ni si quiera el alert() es llamado...

He probado duplicando el parent. , cambiandolo por top, quitándo ambos, duplicando el opener, y nada..., incluso probé poniendole un id en el <body> de la pág padre, y llamarla con id_padre.location.reload() y nada...
__________________
Gracias de todas todas
-----
Linux!
  #21 (permalink)  
Antiguo 25/10/2005, 15:46
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
¿ Has probado... window.opener.opener.parent ?
  #22 (permalink)  
Antiguo 26/10/2005, 06:24
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Hola programeitor...

sip, he probado duplicando el opener, el parent, dejando sólo el top, he hecho todas las combinaciones posibles, y nada...

Vamos a suponer, que sea problema de otro orden... ¿quizás apache? ¿el js embebido en php? ¿versión de otra cosa? ¿...?

Lo he probado con firefox (Linux )y exploiter (M$)...
__________________
Gracias de todas todas
-----
Linux!
  #23 (permalink)  
Antiguo 26/10/2005, 13:08
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
ok... un código con el que estoy probando localmente, y no funciona...

principal.php llama a una ventana emergente.
ventana1.php tiene 2 enlaces: uno para recargar el valor de la variable contador en principal.php, y otra para abrir ventana2.php
ventana2.php tiene un enlace para recargar el valor de la variable de principal.php

principal.php
Código HTML:
<?php
session_start();
if (!isset($_SESSION['contador'])) {
   $_SESSION['contador'] = 0;
} else {
   $_SESSION['contador']++;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Página Principal</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table border="1">
  <tr><td>Ventana padre</td></tr>
  <tr><TD width="300" height="30" align="center"><strong><?php echo $_SESSION['contador']; ?></strong></TD></tr>
  <tr>
    <td>
      <A href="ventana1.php" name="C" target="popup" onclick='window.open("", "popup", width=350, height=150, left=350, top=300")'><strong>Abrir ventana 1</strong></A>
    </td>
  </tr>
</table>
</body>
</html> 
ventana1.php
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>Ventana 1</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table border="2">
  <tr>
    <td colspan="2" align="center" height="30">Ventana hija</td>
  </tr>
  <tr>
    <td colspan="2" height="30">
      <A href="ventana2.php" name="C" target="popup" onclick='window.open("", "popup", width=150, height=350, left=50, top=30")'><strong>Abrir ventana 2</strong></A>
    </td>
  </tr>
  <tr>
    <TD>
      <A href="" name="recargar" target="_self" onclick="window.opener.location.reload();">Recargar</A>
    </TD>
    <TD><A href="" onclick="window.close();">Cerrar</A></TD>
  </tr>
</table>
</body>
</html> 
ventana2.php
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>::Ventana 2::</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <style type="text/css">
  <!--
  body,td,th {
    color: #CCCCCC;
    background-color: green;
  }
  a:link {
    color: #FFCC33;
    text-decoration: none;
  }
  a:visited {
    text-decoration: none;
    color: white;
  }
  a:hover {
    text-decoration: underline;
  }
  a:active {
    text-decoration: none;
    color: white;
  }
  -->
  </style>
</head>
<body>
<table border="1">
  <tr>
    <td colspan="2" align="center" height="30">Ventana nieta</td>
  </tr>
  <tr>
    <td colspan="2" height="30">
      <A href="ventana2.php" name="C" target="popup" onclick='window.open("", "popup", width=150, height=350, left=50, top=30")'>Abrir ventana 2</A>
    </td>
  </tr>
  <tr>
    <TD>
      <A href="" name="recargar" target="_self" onclick="window.parent.parent.location.reload();">Recargar</A>
    </TD>
    <TD><A href="" onclick="window.close();">Cerrar</A></TD>
  </tr>
</table>
</body>
</html> 
__________________
Gracias de todas todas
-----
Linux!
  #24 (permalink)  
Antiguo 26/10/2005, 13:14
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
has probado con window.opener.top.location.reload()?
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #25 (permalink)  
Antiguo 26/10/2005, 13:29
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Hola...

He probado, sin éxito, con,

window.top.location.reload();
window.parent.parent.location.reload();
window.parent.top.location.reload();
window.parent.parent.top.location.reload();
window.opener.parent.parent.top.location.reload();
window.opener.opener.location.reload();
window.opener.top.location.reload();
window.parent.location.reload();
__________________
Gracias de todas todas
-----
Linux!
  #26 (permalink)  
Antiguo 26/10/2005, 13:46
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 19 años, 11 meses
Puntos: 2
Releyendo tu mensaje inicial entiendo que la ventana que abre el popup nieto (es decir, la ventana padre) es cerrada cuando se abre la nieta. Y yo creo que si la cierras se pierde el arbol y no se puede llegar a la ventana abuela. Has probado a no cerrar el popup padre y poner lo que te dije antes?:

window.opener.top.location.reload();
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #27 (permalink)  
Antiguo 26/10/2005, 14:04
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
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();
  #28 (permalink)  
Antiguo 26/10/2005, 14:05
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
ok...

Acabo de probar sin cerrar ventana1.php y funciona... gracias por esa!

Ahora me toca que buscar la forma de "esconder" ventana1.php...
__________________
Gracias de todas todas
-----
Linux!
  #29 (permalink)  
Antiguo 26/10/2005, 14:23
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
programeitor...

Si lo había probado, pero cerrando ventana1.php...
__________________
Gracias de todas todas
-----
Linux!
  #30 (permalink)  
Antiguo 26/10/2005, 16:35
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Para esconderla, dale blur()
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:28.