Foros del Web » Programando para Internet » Javascript »

abrir y cerrar ventana emergente

Estas en el tema de abrir y cerrar ventana emergente en el foro de Javascript en Foros del Web. Hola a todos tengo una funcion php que valida el usuario, dependiendo el id del usuario lanzo una ventana emergente Código PHP: if ( $wgUser -> ...
  #1 (permalink)  
Antiguo 31/07/2008, 08:10
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Pregunta abrir y cerrar ventana emergente

Hola a todos

tengo una funcion php que valida el usuario, dependiendo el id del usuario lanzo una ventana emergente

Código PHP:
if ($wgUser->getId ()==1){
               include 
"ventana.html";

el codigo que lanzo para la ventana emergente es:

Código PHP:
<html>
<
head>
<
script language="JavaScript">
function 
ventanaSecundaria (URL){
   
window.open(URL,"ventana1")
}
ventanaSecundaria("http://ventana_emergente");
</script>
</head>
<BODY>
</BODY>
</html> 
como hago para que al salir el usuario, me cierre la ventana emergente abierta?

me puede ayudar

gracias
  #2 (permalink)  
Antiguo 31/07/2008, 08:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: abrir y cerrar ventana emergente

Puedes asignar el valor de retorno de window.open a una variable, por ejemplo:
Código PHP:
ventana window.open(URL"ventana1"); 
Luego, para cerrarla:
Código PHP:
ventana.close(); 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 31/07/2008, 08:17
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: abrir y cerrar ventana emergente

pero esa variable en donde la pongo si utilizo 2 scripts php uno para entrar login.php que es de donde se lanza la ventana emergente y otro script logout.php, para salir.

:(
  #4 (permalink)  
Antiguo 31/07/2008, 08:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: abrir y cerrar ventana emergente

Ahí la situación ya se complica un poco, pero, ¿en qué parte llamas a la ventana emergente?, ¿cuándo llamas a logout.php?. Tal vez en el momento de llamar a logout.php puedes hacer que se cierre la ventana.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 31/07/2008, 08:42
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: abrir y cerrar ventana emergente

digamos que tengo login.php y logout.php

en login.php lanzo la ventana emergente
Código PHP:
 function Login$msg$auto true ) {
                global 
$wgUser;
                global 
$wgOut;

                
# Run any hooks; ignore results

                
wfRunHooks('UserLoginComplete', array(&$wgUser));

                
$wgOut->setPageTitlewfMsg'loginsuccesstitle' ) );
                
$wgOut->setRobotpolicy'noindex,nofollow' );
                
$wgOut->setArticleRelatedfalse );
                
$wgOut->addWikiText$msg );
                if ( !empty( 
$this->mReturnTo ) ) {
                        
$wgOut->returnToMain$auto$this->mReturnTo );
                } else {
                        
$wgOut->returnToMain$auto );
                }
                
               if (
$wgUser->getId ()==1){
               include 
"ventana.html";
               }
        } 
y en logout.php quiero cerrar la ventana, el logout lo mando a llamar cuado pulso sobre un enlace, para cerrar la sesion del usuario:
Logout.php
Código PHP:
<?php
function wfSpecialUserlogout() {
        global 
$wgUser$wgOut;

        if (
wfRunHooks('UserLogout', array(&$wgUser))) {

                
$wgUser->logout();

                
wfRunHooks('UserLogoutComplete', array(&$wgUser));

                
$wgOut->setRobotpolicy'noindex,nofollow' );
                
$wgOut->addHTMLwfMsgExt'logouttext', array( 'parse' ) ) );
                
$wgOut->returnToMain();

        }
}
  #6 (permalink)  
Antiguo 31/07/2008, 13:00
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: abrir y cerrar ventana emergente

Cita:
Iniciado por David el Grande Ver Mensaje
Puedes asignar el valor de retorno de window.open a una variable, por ejemplo:
Código PHP:
ventana window.open(URL"ventana1"); 
Luego, para cerrarla:
Código PHP:
ventana.close(); 
Asi como dice David, se me ocurre poner en el enlace de logout el evento onclick para que cierre el popup, tambien podrías usar en el unload de la pagina

Código:
<a href="logout.php" onClick="ventana.close()">logout</a>
declarando ventana como global, tambien podrias hacer una funcion para detectar si ventana existe para que no te de error...

Saludos...
  #7 (permalink)  
Antiguo 31/07/2008, 14:53
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: abrir y cerrar ventana emergente

es posible declarar una variable global de javascript, si utilizo php?

como se haría?
  #8 (permalink)  
Antiguo 04/08/2008, 09:29
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: abrir y cerrar ventana emergente

hola a todos nuevamente y replanteando la pregunta

tengo 3 scripts php

login.php,logout.php, administracion.php(popup)

al entrar a la pagina principal (login.php) se lanza una ventana emergente(popup)
Código PHP:
if ($wgUser->getId ()==1){
                echo 
"<script language=\"JavaScript\">
                   var "
.$ventana_secundaria."

                   function abrirVentana(){
                    //guardo la referencia de la ventana para poder utilizarla luego
                   ventana_secundaria = window.open(\"http://localhost/mediawiki-11/administracion.php\",\"miventana\",\"\",\"_parent\")
                    }
                 abrirVentana();
               </script>"
;
               } 
no se si esta sea la mejor opcion para abrir el popup

la pagina administracion.php es el popup abierto desde login.php, en la cual se muestran 4 enlaces, lo que quiero es que al pulsar sobre los enlaces, se muestren en la pagina que lanzo el popup.

y la otra es que al presionar en el enlace de salir(logout.php) me cierre el popup

es posible hacer esto?

gracias por su apoyo
  #9 (permalink)  
Antiguo 04/08/2008, 09:47
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: abrir y cerrar ventana emergente

ya resolvi lo de abrir los enlaces en la ventana padre

<a href='#' onclick='window.opener.location.href = \"pagina_principal.php\";'>Principal</a>

solo me falta cerrar el popup al dar click en salir(logout.php)

pueden ayudarme?
  #10 (permalink)  
Antiguo 04/08/2008, 10:11
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: abrir y cerrar ventana emergente

se me ocurre que desde logout.php enviar una variable o parametro a la pagina administracion.php (popup) y dependiendo del valor de la variable cerrar el popup

se les hace buena idea?


gracias
  #11 (permalink)  
Antiguo 04/08/2008, 12:32
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: abrir y cerrar ventana emergente

Ya lo probaste? intentalo y nos cuentas
  #12 (permalink)  
Antiguo 04/08/2008, 14:32
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Respuesta: abrir y cerrar ventana emergente

es que no se como hacerlo
  #13 (permalink)  
Antiguo 05/08/2008, 09:09
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: abrir y cerrar ventana emergente

Mmmm...

Ok, Provemos con esto:

Código HTML:
<script type="text/javascript">
function close_this_popup(){
	window.opener.location.href='logout.php';//redirecciona la ventana que habrió el popup
	window.close();//cierra el popup
}
</script> 
esta funcion ponla en el popup, ahora para llamarla has algo como esto:

Código HTML:
<a href="javascript:close_this_popup()">LogOut</a> 
Saludos y suerte...
  #14 (permalink)  
Antiguo 05/08/2008, 10:02
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: abrir y cerrar ventana emergente

Cuando abras la ventana en:

Código HTML:
<html>
<head>
<script language="JavaScript">
function ventanaSecundaria (URL){
   window.open(URL,"ventana1")
}
ventanaSecundaria("http://ventana_emergente");
</script>
</head>
<BODY>
</BODY>
</html> 
Puedes tambien abrir una petición usando ajax con la que declaras una variable global o una sesión en php. luego cuando se cierra la sesión puedes hacer otro include como lo haces para abrir la ventana pero para cerrarla. Para eso tendrías que usar la técnica de guardar la referencia a la ventana en una variable que propone Un_tico.
__________________
twitter: @imbuzu
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 16:46.