Pregunta

En la aplicación que estoy desarrollando tengo que almacenar el tiempo que algunos usuarios particulares permanecen conectados a la aplicación, desafortunadamente, en las aplicaciones web, hay varias formas en que el usuario puede cerrar sesión.

  1. El usuario hace clic en cerrar sesión.
  2. La sesión del usuario caduca.
  3. El usuario cierra la ventana.
  4. El usuario escribe otra URL del sitio en la barra de direcciones.

El primero es bastante fácil porque la aplicación obtiene el control del proceso de cierre de sesión. Pero en los otros, se vuelve complicado.

¿Qué harías para resolver este problema?

¿Fue útil?

Solución

En cada vista de página, actualice su cuenta. Si se desconecta, entonces tienes una medida precisa. Si se alejan, o por cualquier otro método, lo máximo que puedes perder es el tiempo que estuvieron en una página.

Si era realmente realmente importante tener una medida precisa, entonces quizás un AJAX " latido del corazón " cada minuto, pero eso es muy probable que sea una exageración.

Otros consejos

Bueno, para el # 3 y # 4 puede adjuntar algo al evento window.onunload que le permite calcular los cálculos, pero tenga cuidado de que su código sea lo suficientemente rápido para que la página no se descargue por completo antes de que su solicitud AJAX pueda ser enviado.

En cuanto a # 2, el " latido del corazón " sugerido por Nickf es probablemente la mejor solución allí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top