Which event handler to use to record leaving page - onunload or onbeforeunload?
Asked Answered
S

3

1

Having not any answers to my previous questions about using javascript to measure page turn times, I'm going to start writing my own code (!).

To measure the length of tie it takes, I'm proposing dropping a cookie containing a timestamp when the user browses away from a page, then in a subsequent page, comparing that time with 'now' and sending back a request to a URL which will log the interval.

It seems that there are 2 possible handlers I could associate the first block of code with - the onunload() handler or the onbeforeunload()?

It's more important that it fail silently on browsers with no/broken support for the handler, than it be portable across every possible browser.

Any pointers? Gotchas?

TIA

C.

Sliver answered 17/5, 2010 at 12:37 Comment(0)
F
2

onbeforeunload is not supported by Opera, and is really meant to be used to give the user a chance to abort the unload, so you should go for onunload.

Festa answered 17/5, 2010 at 12:39 Comment(0)
M
2

One thing with either onunload or onbeforeunload is that any Ajax call must have async: false property. This prevents the code from actually leaving until the call completes. Other than that, see Sean Kinsey's answer.

Military answered 22/10, 2012 at 18:18 Comment(0)
T
0

I'm trying to use onunload in Firefox but it seems like it doesn't give the Javascript much time to do anything useful, so it's a cross browser issue. I might want to use a combination of both handlers.

Tnt answered 21/7, 2010 at 14:32 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.