Can I tell, using javascript, whether a user has clicked on the ‘X’ icon on a browser dialog, or the ‘OK’/’Cancel’ buttons? I have code I need to run when the window closes, but it will only run when OK or Cancel are clicked.
I currently capture the onunload event of the window. How can i accomplish this?
window.onunload = function() { alert('unloading'); }
Why do you want to do this? We can probably help you come up with a different design that doesn’t require this if you tell us what you’re trying to do.
However, to answer your question: it’s not possible to catch that event in all cases. You cannot prevent the user from closing the browser or guarantee that your code will execute when they do. You can make it slightly annoying for them, but they can disable javascript, or kill the process, or reboot the computer. Using the unload function is the closest you can come to having some code that runs when the window closes (it will run in cases of normal shutdown or when the user navigates away).