How to detect browser close

L

Lord2702

Sat. Oct. 30, 2004 3:25 PM PT

I want to detect, if user has close the browser, (after logging to my site),
that user has closed the browser. How to achieve it ? I want to know this
close action on my server-side code. Because if he logout by clicking on
Logout/ Sign-Off button it simple to get the message.

Although, this is very similar to the first above. Also, if user takes any
action on client-side or browser side how will I detect or send a message to
server-side that user has taken xyzAction ?

Thanks in Advance.
 
T

Teemu Keiski

Point is that there is no 100% way to guarantee that. You can try having js
scripts to send something to the server when browser gets closed or
something else happens, but if user has disabled js, you are out of luck.
You should design the app such that occasions like this are taken into
account, you just can't help it.
 
J

John Timney \(Microsoft MVP\)

You should only respond on the session timing out, or the button being
clicked - other than that assume that your client is still connected.

--
Regards

John Timney
Microsoft Regional Director
Microsoft MVP
 
K

Ken Dopierala Jr.

Hi,

As others have said this is a tricky issue. The odds of you getting a
succesful postback are 50/50 to say the best. I've had about a 95% success
rate doing this:

1. Capture the onbeforeunload event in your body tag.
2. Incorporate the WebService.htc.
3. When the onbeforeunload event fires run a function that uses the
WebService.htc to tell a web service.

The browser will close before you get a response back but, about 95% of the
time, your web service will get hit and the user can successfully be logged
out. Note, that using the latest IE and Windows XP you will achieve almost
100% results. This is sort of complicated until you get the hang of it. If
this isn't something you want to try then here is another suggestion to
improve your chances but it might seem clunky to the user:

Have a main page that the user browses to. To run your app, they click a
button or link and then you use window.open() to create a new browser
window. This is the window your app runs from. Don't ask me why, but the
success rate of a postback from onbeforeunload seems to be much higher for
browsers launched from javascript than from browsers launched by the user.
Good luck! Ken.
 

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

No members online now.

Forum statistics

Threads
473,733
Messages
2,569,440
Members
44,831
Latest member
HealthSmartketoReviews

Latest Threads

Top