Issue
Is there a way to detect tab close event to clear the localStorage
. I need localStorage
to share data across tabs. window.onbeforeunload
event works fine but it has 2 issues for me:
- It also fires on page refresh which I dont want.
- I don't need confirm box on tab close.
Like when window is closed the sessionStorage
is cleared. At same time I can clear localStorage
but don't know what event to bind to. I checked a few questions already available but none seems to address this issue there are workarounds by using flags for click on links and form submits but not a clean way to do it. Kindly suggest any solution for this.
Solution
I was able to find solution to this and thought of sharing. Since the window.onbeforeunload event fires on browser/tab close but on refresh as well(which i did not want) the thing was my localstorage was being processed at time of rfresh as well. Which I did not want. In order to overcome this I implemented 1 more event handler window.onload that fires only on refresh and not on tab/browser close where I would reset the localStorage as if nothing had happened. The code is:
window.onbeforeunload = function (e) {
window.onunload = function () {
window.localStorage.isMySessionActive = "false";
}
return undefined;
};
window.onload = function () {
window.localStorage.isMySessionActive = "true";
};
I returned undefined in window.onbeforeunload as i did not want a confirm popup to appear on tab/browser close and refresh.
Answered By - Peter
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.