How to stop a page from exit or unload with jQuery
When a page is exiting or unloading, the ‘unload‘ event will be activate, however, this event can not stop a page from exit.
$(window).bind('unload', function(){});
Since jQuery 1.4, you can bind the ‘beforeunload‘ event to $(windows) object to stop a page from exit , unload or navigating away.
$(window).bind('beforeunload', function(){ return ''; });
With ‘beforeunload‘ event attached, when you close the page, hits the back button or reload the page, a confirmation box will prompt to ask you whether you really want to go, choose ok to exit the page: cancel to stop the page from exit and stay on the same page.
In addition, you are allow to add your own message inside the confirmation box :
$(window).bind('beforeunload', function(){ return '>>>>>Before You Go<<<<<<<< \n Your custom message go here'; });
P.S The ‘beforeunload’ event is supported since jQuery 1.4
Try it yourself
<html> <head> <title>Refresh a page in jQuery</title> <script type="text/javascript" src="jquery-1.4.2.min.js"></script> </head> <body> <h1>Stop a page from exit with jQuery</h1> <button id="reload">Refresh a Page in jQuery</button> <script type="text/javascript"> $('#reload').click(function() { location.reload(); }); $(window).bind('beforeunload', function(){ return '>>>>>Before You Go<<<<<<<< \n Your custom message go here'; }); </script> </body> </html>








why this is not working with chrome ????????????
Hi,
Thanks for the trick. I’d like to use it on a form, but the message display even when I click on the submit button, how can I prevent that ? Thank you for your help.
ok, found it :
$(“#myform”).submit(function(){
$(window).unbind(“beforeunload”);
});
i only want to show this popup on close of browser not every refresh. could you please help me.
Does this fire window.onbeforeunload beneath the covers?
The reason I’m asking is because onbeforeunload is being ignored in current versions of safari (and possibly chrome)
[...] loading effect with jQuery. Page refresh with jQuery Refresh a page with jQuery location.reload(); Stop a page from exit or unload with jQuery Stop a page from exit or unload with jQuery “beforeunload” event. Check if an image is [...]
How can we avoid this for same domain and display a alert to other domains
The algorithm is get your URL text box and compare with yours.