$(window).unload is not firing
I want to execute an action method when the user is abandoning a particular page using jQuery.
The page has the following code:
<script type="text/javascript">
$(window).unload(function () {
alert("Handler for .unload() was called.");
});
</script>
When I navigate away from the page I never see the expected alert.
Solution 1:
Actually some browsers such as Google Chrome might block if you attempt to alert
in a window unload
. As a user I like this feature. Alerting every time you try to navigate away from a page sucks:
Replace the alert with a console.log
or something else less intrusive to the user and the event will be happily called.
You might also want to checkout the onbeforeunload event.
Solution 2:
jquery .on('unload',..); was not reliable working for me. i switched over to use beforeunload. just make sure you are not returning anything, or the user will get a "are you sure to leave the page"-popup.
<script type='text/javascript'>
$(window).on('beforeunload', function(){
console.log("beforeUnload event!");
});
</script>
Solution 3:
as bhelm said
beforeunload
works for me as well.
return false on this event will invoke the browser default
are you sure you want to leave this page?
$(window).on('beforeunload', function ()
{
return false;
});