Detectar salida del navegador
4 seguidores
Hola a todos, necesito detectar de alguna forma que un usuario abandona la página que está viendo para yo poder enviar un valor a una base de datos.
Gracias!!!
Hola a todos, necesito detectar de alguna forma que un usuario abandona la página que está viendo para yo poder enviar un valor a una base de datos.
Gracias!!!
Seguro que tienes mucho que decir, te estamos esperando.
dagi3d
qué es lo que has buscado en google?
masquehtml
De lado del servidor no se puede (creo al 99%). En javascript tienes el evento onunload que se ejecuta cuando el usuario sale de la página (cierra la ventana o hace click en un enlace).
Supongo que desde ese evento podrías llamar a una función con AJAX para meter ese valor en una base de datos. De todos modos no tengo muy claro que funcione. Al estar abandonando la página, no estoy seguro de que llegase a cargar el AJAX.
Usuario desconocido
Personalmente, tampoco conozco la forma de hacerlo en lenguaje servidor pero con Javascript puedes utilizar la funcion onBeforeUnload en el body y ahi, ejecutar una funcion JS.
Queria poner un ejemplo, pero el foro no me deja, de todas formas en esta pagina pueds verlo: http://msdn.microsoft.com/en-us/library/ms536907(VS.85).aspx
Espero que te ayude.
DamagedGoods Plus
La única forma es con Javascript: la página ya ha sido servida, por lo que en servidor poco puedes hacer.
Con JS, como dicen, puedes capturar el evento de cierre y lanzar una petición al servidor, pero no lo he hecho nunca. Si optas por esto, comprueba que los nombres de los eventos son estándar, porque eso de onBeforeUnload me parece que sólo te funciona en Explorer.
Luego se me ocurren soluciones mucho más complicadas, como un timer en JS que vaya lanzando peticiones asíncronas de manera oculta al usuario para que el servidor sepa que la página sigue cargada, o cosas así. Pero es un follón.