I would like to execute a function before leaving page without showing a confirmation popup with Javascript only. I\'ve tried with the code below but it did
Just call your function from within window.onbeforeunload. Note, some browsers restrict what you can do here (eg: no redirects or alerts). See: https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload for more info.
I've also added the appropriate code for readers that do want to show a confirmation dialog.
function doSomething(){
//do some stuff here. eg:
document.getElementById("test").innerHTML="Goodbye!";
}
function showADialog(e){
var confirmationMessage = 'Your message here';
//some of the older browsers require you to set the return value of the event
(e || window.event).returnValue = confirmationMessage; // Gecko and Trident
return confirmationMessage; // Gecko and WebKit
}
window.addEventListener("beforeunload", function (e) {
//To do something (Remember, redirects or alerts are blocked here by most browsers):
doSomething();
//To show a dialog (uncomment to test):
//return showADialog(e);
});
Just hit 'Run' to test: http://jsfiddle.net/2Lv4pa9p/1/