Foros del Web » Programando para Internet » Javascript »

onUnload: distinguir cierre y redirección

Estas en el tema de onUnload: distinguir cierre y redirección en el foro de Javascript en Foros del Web. Me gustaría saber si existe alguna forma de detectar cuando se cierra la ventana del navegador. En principio el evento onUnload del body, o del ...
  #1 (permalink)  
Antiguo 25/04/2005, 08:08
 
Fecha de Ingreso: julio-2003
Mensajes: 120
Antigüedad: 20 años, 9 meses
Puntos: 0
onUnload: distinguir cierre y redirección

Me gustaría saber si existe alguna forma de detectar cuando se cierra la ventana del navegador. En principio el evento onUnload del body, o del propio objeto window, debiera valer, pero tienen un problema: saltan siempre que se descarga la página, y si en mi aplicación navegan de una pantalla no quiero que salte.
Resumiendo, lo que necesito es distinguir de alguna manera, desde javascript, cuándo se cierra la ventana del navegador de cuando se pasa, dentro de una misma ventana, de una pantalla a otra. Para eso, en principio, onUnload no me vale.
¿Es posible distinguirlo?
Un saludo.
  #2 (permalink)  
Antiguo 25/04/2005, 09:07
 
Fecha de Ingreso: julio-2003
Mensajes: 120
Antigüedad: 20 años, 9 meses
Puntos: 0
He encontrado esto en internet, por si alguien está interesado. Es un script curioso:

you can check user activity. here is my example:

========================
<script>
var UserClicked=false;
document.onkeydown=spyclick;
document.onmousedown=spyclick;
function spyclick()
{
UserClicked=true;
setTimeout("UserClicked=false",2000);
}
function popup()
{
if(!UserClicked)
{
var win=window.open("","","width=300,height=300")
win.document.write("kuku, come back! ;)")
}
}
window.onbeforeunload=popup;
</script>

La función popup sólo salta cuando la página se descarga cerrando la ventana del navegador. Aunq bueno, tiene un bug q no es difícil encontrar...

Está sacado de http://www.experts-exchange.com/Web/..._20865822.html
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 17:05.