Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Event calling before page unload

I want to pop up a dialog before an html page is unloaded asking to unload page or not. If yes is selected then the unload continues, and if no is selected then the unload event is canceled.

like image 856
Suraj Air Avatar asked Sep 13 '10 09:09

Suraj Air


1 Answers

You can't set the text to "yes"/"no" (it'll be "Ok"/"Cancel" in most browsers), but you can prompt (be careful when using this) when leaving the page in any manner using window.onbeforeunload, like this:

window.onbeforeunload = function() {
  return "Are you sure you wish to leave the page?";
}

Only use this if you have a good reason, don't annoy your users. That being said, this will prompt when leaving the page, that includes history back, forward, refresh, closing the window/tab, clicking a link to navigate away or submitting a form, etc. So you'll probably want to call this when going somewhere that shouldn't prompt:

window.onbeforeunload = null;

For example, submitting a form of information, you'd want to prompt when leaving/losing the data, but not when actually submitting it.

like image 62
Nick Craver Avatar answered Sep 28 '22 01:09

Nick Craver