How do I detect a page refresh using jquery?

sisko picture sisko · Nov 4, 2011 · Viewed 202.9k times · Source

How might I capture the page reload event?

I have a messaging system which loses all its input when the user refreshes the page. I want to use ajax to re-populate, hence my need to detect when the page has been refreshed/reloaded.

Answer

Naftali aka Neal picture Naftali aka Neal · Nov 4, 2011
$('body').bind('beforeunload',function(){
   //do something
});

But this wont save any info for later, unless you were planning on saving that in a cookie somewhere (or local storage) and the unload event does not always fire in all browsers.


Example: http://jsfiddle.net/maniator/qpK7Y/

Code:

$(window).bind('beforeunload',function(){

     //save info somewhere

    return 'are you sure you want to leave?';

});