Foros del Web » Programando para Internet » Javascript »

Cerrar popup y recargar ventana

Estas en el tema de Cerrar popup y recargar ventana en el foro de Javascript en Foros del Web. Hola a todos/todas: Estoy peleando con un trozito de código que voy complicando cada vez más y no encuentro la solución . Suopngo que el ...
  #1 (permalink)  
Antiguo 20/02/2011, 06:38
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Cerrar popup y recargar ventana

Hola a todos/todas:

Estoy peleando con un trozito de código que voy complicando cada vez más y no encuentro la solución.
Suopngo que el tema es común, pero yo no domino javascript. La cosa es que tengo un pop up que sirve para logearse en la página, una vez logueado, yo desearía que la página se recargara (que no lanzara una nueva y si lo hace que cierre la anterior) y el popup se cerrara.
Lo mismo con el Logout.
Dejo aquí los códigos para que los veáis y me digais lo que debería hacer (crítica constructiva por favor que estoy muy sensible)

Login:
Código:
<a href= target="_blank" onClick="window.open(this.href, this.target,'width=350,height=145'); javascript:window.opener.document.location.reload();self.close()">Login</a>
Logout:
Código:
<a  href="login/main_logout.php"target="_blank" onClick="window.open(this.href, this.target,'width=350,height=145'); javascript:window.opener.document.location.reload();self.close()">Logout</a>
Muchas gracias por el amable socorro y desintersada, y sin embargo util, ayuda
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #2 (permalink)  
Antiguo 20/02/2011, 10:58
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Cerrar popup y recargar ventana

Hola de nuevo:

Como veréis no desisto , he estado investigando y he conseguido esto:
Login
Código:
<a href="login/main_login.php" target="_blank" onClick="window.open(this.href, this.target, 'width=350,height=145');return false;window.close();exit">Login</a>
Pero ahora además de que no me actualiza la página me abre DOS ventans de Login (una página entera y el popup).
Por favor ¿Alguien se puede apiadar de mí?

Gracias muchas por adelantado
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #3 (permalink)  
Antiguo 20/02/2011, 12:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cerrar popup y recargar ventana

buenas...

por parte. la accion de recargar la pagina una vez logueado debes hacerlo en la ventana popup, no puedes hacerlo en el mismo enlace porque de lo contrario no tiene sentido. es decir, estas haciendo todo de un golpe cuando deberia ser un proceso por parte. en el enlace lo unico que vas hacer es abrir el popup. para que no te haba mas de un popup, el target no puede ser _blank porque _blank fuerza al navegador abrir multiples ventanas en cada pulseo. tienes que pasarle otro valor.

luego, en la ventana de popup, una vez el usuario tenga acceso satisfactorio, como respuesta debes devolver un script. en ese script es donde tendras la accion de recargar la ventana maestra y cerrar el popup. para recargar la pagina, primero tienes que identificar la ventana mediante el objeto opener y ya una vez ahi obtienes acceso a la ventana maestra. puedes usar opener.location.reload o el que gustes.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 21/02/2011, 00:19
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Cerrar popup y recargar ventana

Gracias por la respuesta:

Te explico lo que tengo hecho hasta ahora, a ver si consigo salir del atolladero.
En PHP tengo organizado un sistema de registro de usuarios. El ciclo comienza con el registro mediante un formulario que pasa los datos a un script de comprobación, este escript de comprobación acepta el registro y manda un mail de confirmación de usuario, cuando el usuario confirma su registro un script de activación lo convierte en un usuario activo y entonces el usuario puede logearse en la página para acceder a las características autorizadas para los usuarios registrados.
El login funciona en lo básico, comienza en el enlace que tu has visto, el cual llama a un formulario donde se introduce el usuario y la clave, los datos de este formulario los comprueba otro script que contiene párrafos en javascript para llamar a la ventana de destino una vez efectuado el login. Es aquí donde tengo el lío.
Según entiendo ¿debo recargar la ventana en el propio script de control del login?
¿que valor debo poner en lugar de _blank? ¿Lo elimino?
Adjunto la parte javascrip del control de login para que me digas que debo cambiar. Gracias anticipadas.
Código:
//abro la ventana de destino	
?> 
<script language=javascript> 
		function ventanaSecundaria (URL){ 
		window.open(URL,"ventana1") 
} 

ventanaSecundaria("../home.php");
window.close()
 </script>
<?php
Por otra parte ¿es posible sustituir ("../home.php") por una variable que permita el login en cualquier página del site sin volver a home?
Algo asi como detectar el nombre de la página en la que se está y recargar sobre la misma.
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #5 (permalink)  
Antiguo 21/02/2011, 01:03
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cerrar popup y recargar ventana

buenas... no se si es la hora o no me estoy concentrando bien. pero entiendo que el proceso es abrir el login en una ventana desde el enlace. supongo que hasta ahi lo tienes bien con excepcion de que abre dos ventanas. el script que mostraste, me das a entender que esta en esa ventana de login. no es ahi donde debes ubicarlo, sino en la proxima pagina que carga al enviar los datos de acceso. o sea, supongo que tu script de control de acceso le confirma al usuario si fue exitoso el logeo, es ahi donde debes poner el script. en ese script, solo debes cerrar la ventana (self.close()) y recargar la ventana padre (opener.location.reload()).

sobre el enlace que abre el popup, si no le pasas un target a window.open(), entonces cada vez que el usuario presione el enlace abrira una nueva ventana independientemente si ya existe una. el target deberia ser cualquier palabra que no sean valores reservados como _blank. para evitar que abra dos ventanas, al final del evento onclick debes devolver false para cancelar la accion predeterminada del enlace. al cancelarlo, solo se abre el popup.

sobre tu ultima linea, supongo que te servira location.href el cual contiene la url actual.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 21/02/2011, 12:07
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Cerrar popup y recargar ventana

Hola:

Buenas tardes, vamos progresando gracias a tu ayuda. He hecho estas modificaciones:
En el enlace que llama el POPUP he eliminado el "target=Blank" dejándolo así:

Código:
<a href="login/main_login.php" onClick="window.open(this.href, this.target, 'width=350,height=145');return false;window.close();exit">Login</a>
y en el CheckLogin he añadido self.close() y reload() quedando así:

Código:
<script language=javascript> 
		function ventanaSecundaria (URL){ 
		window.open(URL,"ventana1") 
} 

ventanaSecundaria("../HOME.php");
self.close();
reload(); 

 </script>
Lo que sucede ahora es que, si bien el popup se cierra automáticamente y recarga, me sigue abriendo una segunda página.
¿Donde está el error?

Agradeciendo de nuevo tu paciencia....
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #7 (permalink)  
Antiguo 21/02/2011, 12:10
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cerrar popup y recargar ventana

¿cual es el proposito del siguiente codigo?

Código:
		function ventanaSecundaria (URL){ 
		window.open(URL,"ventana1") 
} 

ventanaSecundaria("../HOME.php");
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 22/02/2011, 00:14
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Cerrar popup y recargar ventana

Hola de nuevo:

¡¡¡Por finnnn!!!

Muchas gracias por tu paciencia y tus consejos
__________________
J.
¿Dónde está la tecla ‘ANY’?
(H. Simpson)
  #9 (permalink)  
Antiguo 22/02/2011, 00:16
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cerrar popup y recargar ventana

nunca me respondiste la pregunta pero parece que lo analizastes y comprendistes...
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: cerrar, popup, recargar, ventanas
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 13:21.