DOM Window unload event, is it reliable?
Asked Answered
J

2

18

Can I rely on the window unload event to be triggered when a user closes a tab/window/browser?

Edit:

Found a list of what triggers the unload event in IE. http://msdn.microsoft.com/en-us/library/ms536973%28VS.85%29.aspx

I would like to know in which edge cases the unload event won't be triggered.

Jahdol answered 20/10, 2009 at 13:17 Comment(1)
youd have to give more use case - what is it that you want to achieve with the unload? There might be other ways to implement that feature other than unload events.Tori
C
10

You will likely want to use the "onbeforeunload" event too, it provides more control than the "onunload" event.

That said, be aware that: Opera doesn’t fire the unload event when the browser refreshes the page, or uses the back/forward buttons to browse off of the page. What’s worse, Opera never fires the onbeforeunload event. Thus if you are supporting Opera - be aware of these issues.

Capers answered 20/10, 2009 at 13:22 Comment(0)
R
5

Not in all circumstances no. The browser could crash etc. keeping the event from firing. The user could also use add-ons like Grease Monkey to prevent the event from firing also.

Ramulose answered 20/10, 2009 at 13:21 Comment(5)
That's why I said "when a user closes". Browser crashes, power outages,etc. are a different case.Jahdol
Well a user can still close the browser by using task kill etc.Ramulose
If you are relying on it to fire to clean something up, you can't.Ramulose
Fair enough. I was also just thinking about the user shutting down the OS, or going to stand-by or hibernating.Jahdol
As far as I know, hibernation DOES NOT propagates WM_CLOSE message across the system (because it is not closing anything, in fact), so you're surely CAN'T react in onunload or onbeforeunload on sitation like user hibernating its system!Praise

© 2022 - 2024 — McMap. All rights reserved.