Foros del Web » Programando para Internet » Javascript »

Problema cerrar ventana

Estas en el tema de Problema cerrar ventana en el foro de Javascript en Foros del Web. Buenas Tengo una aplicación php. desde esta se abren unas ventanas popup adicionales que muestran algunos reportes. Esta página tiene un control de inactividad que ...
  #1 (permalink)  
Antiguo 29/11/2010, 15:35
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Problema cerrar ventana

Buenas

Tengo una aplicación php. desde esta se abren unas ventanas popup adicionales que muestran algunos reportes.


Esta página tiene un control de inactividad que cuando lleva x minutos sin hacer nada se cierra automaticamente la sesión.


Lo que deseo hacer es que cuando pase eso se cierren las ventanas pop up que se hayan abierto

la funcion es esta


function cerrar_session(mostrar_mensaje)
{
if(mostrar_mensaje=='1')
alert('Por su seguridad, su sesi\u00f3n fue cerrada por inactividad. ');
location.href='logout.php';
// Cierro la ventana del comprobante
if (VenPrimera)
VenPrimera.close();
// Cierro la ventana del detalle
if (VenSegunda)
VenSegunda.close();
}

Pero cuando una de las dos ventanas pop up n oexiste es decir el usuario n ola abrio pues el js no la encuentra y me genera error... Coloque esos if epro no me funcionaron.. COmo valido para qe intete cerrarlas unicamente cuand oexistan

Para crear losdos popup lo hago asi

VenPrimera = window.open("Ruta","detWin","width=781px,height=55 0px,location=no, scrollbars=yes, menubar=no, status=no,toolbars=no, resizable=no");

VenSegunda= window.open("Ruta","myWin","width=630px,height=520 px,location=no, scrollbars=yes, menubar=no, status=no,toolbars=no, resizable=no");

Espero me hayan entendido


Saludos

Última edición por helacer; 29/11/2010 a las 16:07
  #2 (permalink)  
Antiguo 29/11/2010, 16:27
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Problema cerrar ventana

Saludos

Podrías verificar el siguiente post Click Aquí Te resolverá la duda que tienes.

Hasta Pronto
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 29/11/2010, 16:40
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: Problema cerrar ventana

Gracias Nano

Ya me guie del ejemplo y pregunte si la variable es diferente de null pero no me funciona

Lo que yo quiero es que si la ventan no existe simplemente no haga nada pero no me genere error de javascript y si existe pues la cierre pero no e podido manejar este problema que puede ser?
  #4 (permalink)  
Antiguo 29/11/2010, 16:57
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Problema cerrar ventana

Saludos

Creando dos variables globales en la seccion de codigo donde creas las ventanas

Código Javascript:
Ver original
  1. popup1 = null;
  2. popup2 = null;
  3.  
  4. VenPrimera = window.open("Ruta","detWin","width=781px,height=55 0px,location=no, scrollbars=yes, menubar=no, status=no,toolbars=no, resizable=no");
  5. VenSegunda= window.open("Ruta","myWin","width=630px,height=520 px,location=no, scrollbars=yes, menubar=no, status=no,toolbars=no, resizable=no");

y luego si realizas las validación

Código Javascript:
Ver original
  1. function cerrar_session(mostrar_mensaje)
  2. {
  3. if(mostrar_mensaje=='1')
  4. alert('Por su seguridad, su sesi\u00f3n fue cerrada por inactividad. ');
  5. location.href='logout.php';
  6. // Cierro la ventana del comprobante
  7. if (popup1!=null )
  8. VenPrimera.close();
  9. // Cierro la ventana del detalle
  10. if (popup2!=null)
  11. VenSegunda.close();
  12. }

Des esta forma intentaste?
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 30/11/2010, 15:29
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años
Puntos: 50
Respuesta: Problema cerrar ventana

Gracias por su respusta pero tampoco me funciono... tengo una duda porque la variable se crea = NULL y despues en el if verifico si es diferente de NULL? n oentendi esa partecita...


Que mas puede ser porque asi com ome dijo tampoco me funciono? mmm como yo lo tenia cuando dejo una sola ventana funciona pero cuando dejo las dos no me cierra ninguna

Nota las ventanas junto con us variable tambien las creo en una funcion "cada ventana en una funcion" sera por eso que no sirve su idea? ¿Como sería la solución?

Última edición por helacer; 30/11/2010 a las 15:41
  #6 (permalink)  
Antiguo 30/11/2010, 16:29
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Problema cerrar ventana

Saludos

En el codigo tengo un error

y es el siguiente:

Código Javascript:
Ver original
  1. VenPrimera= null;
  2. VenSegunda= null;

De igual manera creo que esa idea no servira para este caso.
Las funciones javascript se encuentran en el mismos archivo? De ser así lo que puedes hacer es crear dos campos de tipo hidden (Que lo manejaremos como un flag) y tendran la funcionalidad de que si llega a entrar a un función de abrir ventana entonces cambiamos el value a 1 de lo contrario lo dejamos 0 por defecto. Luego en la funcion cerrar_session buscamos ese campo y dependiendo de que se encuentre activado se cerrara la ventana correspondiente. Espero me halla dado a entender y te pueda servir esta opcion.

Hasta Pronto
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #7 (permalink)  
Antiguo 30/11/2010, 16:29
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Problema cerrar ventana

...............
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Etiquetas: cerrar, 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 21:49.