'In Javascript how to detect Browser or Tab Close event? [duplicate]
In my Application i want to detect Browser or Tab close event and then for this event would like to submit form for logout function and clear user session.
I have tried window.onbeforeunload event but it is fire for all even i click link or refresh page.
Any one can please help me.
Solution 1:[1]
There is no specific API to achieve what you want.
What you can do is the following:
- Issue access/session tokens with (relatively) short lifespans (like 1 minute)
- Have your frontend "continuously" refresh the tokens to keep the application signed in
In this way after a (relatively) small delay if the frontend is not running you end up with an expired session/access token and the user is effectively logged out.
Cons of this approach: if the user has a small window of connectivity problems their session will expire. If your system is a mobile application this might make your App very frustrating to use in various circumstances. Might not be a big problem if your use case is access from workstations.
Solution 2:[2]
You cannot detect a browser/tab close event natively in JavaScript. When the user closes a tab, all the script running on the page effectively ceases executing and no javascript code can run after that.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | GACy20 |
| Solution 2 | Krishna Moorthy |
