ABCdatos
Programas y tutoriales
en castellano
ABCdatos tu página de inicio Inicio       
Su navegador rechazó un objeto incrustado.
Su navegador no soporta objetos incrustados. Vea los últimos mensajes en el foro.

Cómo cerrar la sesión si el usuario abandona tu sitio

     
Fuente: Diego del Blanco Orobitg
Web: http://www.asptutor.com/asp/vart.asp?id=110
     
  • Descripción
  • Anotaciones
  • Opiniones (1)

PUBLICIDAD
Veamos cómo cerrar la sesión si el usuario abandona su sitio (pero no cierra el navegador) sin esperar los 20 minutos de inactividad.

Si deseamos que la sesión se cierre inmediatamente cuando un usuario sale de nuestra aplicación asp podemos hacer lo siguiente:

Si nuestra aplicación es sencilla y transcurre en una única página, con poner este script

<script type="text/javascript">
function openpopup(){
window.open("logout.asp","","width=300,height=338")
}
</script>


En la página introducir:

<body onunload="openpopup()">

Con esto, lo tenemos solucionado.

El problema está en las aplicaciones en las que saltamos de una página a otra. ¿Cómo sabemos que nos hemos ido de la aplicación si el usuario de repente mete otra url en el navegador y se va?

La solución usada consiste en que toda la aplicación se ejecute dentro de la misma página HTML. Es decir, creamos una página HTML con dos frames: Control y Principal:

aplicacion.html

<html>
<head>
<title>Titulo de nuestra aplicación</title>
</head>
<frameset rows="0,*" cols="*" frameborder="NO"border="0" framespacing="0">
<frame name="control" src="control.html" scrolling="no">
<frame name="principal" src="ENTRADA_DE_NUESTRA_APLICACION.ASP" scrolling="NO">
</frameset>
<noframes>
<body>
<p>Esta página usa marcos, pero su explorador no los admite.</p>
</body>
</noframes>
</html>


El frame "control" tiene una altura de 0 píxeles, por lo que no lo veremos, pero nos servirá para poner nuestro "espía":

control.html

<html>
<head>
<script type='"text/javascript">
function openpopup(){
window.open("cerrarsesion.asp","","width=300,height=338")
}
</script>
</head>
<body onunload="openpopup()">
</body>
</html>


En el archivo "cerrarsesion.asp" cerraremos la sesión y haremos lo que creamos que sea necesario hacer cuando salga el usuario.

De este modo, nuestra aplicación se ejecuta en el frame principal como si nada. (Ojo, debemos cambiar en nuestra aplicación los target="_parent" por target="principal").
Notas de interés

Al efectuar un refresco del navegador, también se lanza el evento onunload.
Limitaciones de la versión

Programación ASP
Hay una opinión de un usuario. ¡Publica la tuya!
Openpopup
Enviado por Yadira el día 25/05/2015.

Hola, muy util lo que dices, pero tengo duda con la funcion openpopup, esta debo programarla???

Copyright © 1999-2023 ABCdatos.com. Todos los derechos reservados. RSS ABCdatos Webmasters
Aviso legal. Políticas de privacidad y cookies.
Contactar con ABCdatos.