How do I detect a user leaving the site?

A

Andy

As per the question really.

Not trying to stop them leaving, but just detect WHEN they leave the site
 
C

Cowboy \(Gregory A. Beamer\)

You can set up JavaScript on a page, but you will have to make it elaborate
enough to distinguish page unload from page unload to another site. This is
how sites that try to get you to download trojans work, popping up a modal
popup when the user leaves a page, except they do it on any unload.

Storing that they have left will require an AJAX like solution, as you will
have to have the JavaScript contact the server.
 
G

George Ter-Saakov

Due to disconnected nature of the Web applications it's a bit hard (and
always not reliable).

First you need to define for yourself "exit time".
Then you need to define precision. For example "We need 1 hour timeframe".
Meaning that if user left 8:50 and we detected it by 9:00 then we fine... .
-------------------------------------------------
Here are some thing you can test if they going to work for you.

1. You can get last time user has requested anything from your site. And
call it your "exit time". Basically update exit time everytime user had send
a request to aspx. At the end when user closes the browser you will have
last "exit time".

Problem: if user requested page "article.aspx" and then sitting there
reading it for 30 minutes and then closes browser you will have exit time 30
minutes before user actually closed the browser...

But this comes does to definition of what is "exit time".

2. To reduce lag time specified in #1 you can have a JavaScript that would
refresh a tiny image on your page every minute. then if user looked at your
page for 30 minutes you will have exit time within one minute range...

But this comes down to the precision... And obviously will have a problem if
JavaScript is disabled.

Check out this on how to do that with an image...
http://www.codeproject.com/KB/aspnet/SessionForever.aspx
 
B

bruce barker

there is no surefire way. the most common is a lightweight ajax call on page
unload (which will fire on every page referesh), then run a timer on the
server to detect that the user did not return to the site. you can also use a
session timeout for this (20 minutes of no site hits).

-- bruce (sqlwork.com)
 
C

Cowboy \(Gregory A. Beamer\)

Client side JavaScript is the most surefire, but one can easily circumvent
it by killing the browser. LOL ;-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top