Foros del Web » Creando para Internet » HTML »

Detectar cierre del browser

Estas en el tema de Detectar cierre del browser en el foro de HTML en Foros del Web. Hola foreros.- Tengo un sistema web donde necesito registrar los movimientos que realizan los usuarios que se logean a este, lo ideal sería detectar cuando ...
  #1 (permalink)  
Antiguo 25/07/2007, 15:40
 
Fecha de Ingreso: julio-2002
Ubicación: Valparaiso
Mensajes: 152
Antigüedad: 15 años, 4 meses
Puntos: 0
Detectar cierre del browser

Hola foreros.-

Tengo un sistema web donde necesito registrar los movimientos que realizan los usuarios que se logean a este, lo ideal sería detectar cuando el usuario cierra la ventana del explorador para poder registrar la fecha:hora de termino de la sesión.

Trate con Body onUnload="funcion()" , pero esta se me gatillaba tambien al cambiarme de pagina, por lo que no me sirve...

Alguna idea para hacer esto?

Saludos
  #2 (permalink)  
Antiguo 15/08/2007, 10:33
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 12 años, 6 meses
Puntos: 10
Re: Detectar cierre del browser

Pues el evento como tal en javascript no lo hay ... hasta donde sé no existe un onclose ... o algo parecido ... lo que podrías hacer ... es usar variables de sesión ... logear al usuario y tener una opción logout ...

Saludos y suerte con eso
  #3 (permalink)  
Antiguo 15/08/2007, 21:48
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 10 años, 5 meses
Puntos: 1567
Re: Detectar cierre del browser

Lo que quieres tiene un problema insoluble, puedes registrar cualquier actividad una vez que el usuario se logea, pero si el usuario no se desloguea, (acción a la que no puedes condicionarlo mientras navega) nunca sabrás cuando decidió abandonar la sesion (entiendáse por esto cerrar el navegador sin haber hecho el correspondiente 'logout')
Por supuesto que hay otras alternativas, hacer caducar las sesiones por medio de sessions o cookies y obligarlo a relogonearse (permítaseme el término) si hubo tiempos de inactividad prolongados (algo similar a lo que hacen en este foro, que si te demoras más de la cuenta en contestar un mensaje, te envía a la pantalla del login nuevamente)
Una oportunidad me había obsesionado con esto y recurrí a lo siguiente (en el caso de php se puede hacer todo en la misma base de datos), al logearse, verificaba al usuario y si no existía escribía un archivo utilizando como nombre el id del mismo, ese archivo era borrado por el 'logout', si volvia logearse y se detectaba la presencia del archivo (evidencia de que no había hecho el logout) le aparecía una advertencia y creaba un nuevo archivo con un contador que ponia en uno...cuando el contador llegaba a tres la advertencia se convertía en sanción y era expulsado del registro.
Parece rebuscado pero funcionaba bien. El tema es que tanto les importa a tus usuarios las sanciones que les puedas aplicar.

Saludos
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 18:49.