开发者

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

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开发者_如何学Go 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.


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.


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜