This code runs fine on Firefox, but I can\'t make the unload event work on Chrome anymore. Did Chrome stop supporting the unload event?
This is my c
From what I've read it seems Chrome blocks alerts once that event has been triggered. You can run some functions, however, just not anything that interacts with the user it seems.
From window.onbeforeunload in Chrome: what is the most recent fix?, it seems, if all you want to do is pop up a confirmation message, you have to do it by returning a string with the message from the function you set as the callback.
window.onbeforeunload = function() {
// Some wrap up code (no alerts, confirms, redirects, etc)
return 'My confirmation messsage';
}
The text "My confirmation message" will then show up in a confirmation dialogue of Chrome's choosing. Firefox documents this behaviour here.
You don't trigger anything - you just execute the expression which you want to add as a handler:
window.onunload = function(event) {
alert("Are you sure 2?");
};
Try:
window.onbeforeunload = function () {
// code
};
or
window.onpagehide = function () {
// code
};
window.onunload = alert("Are you sure 2?");
This is incorrect. You are setting onunload
to the result of alert
, you need to set it to a function:
window.onunload = function(){
alert("Are you sure?");
}
If you want to use jQuery, this will work in all browsers.
$(window).unload(function () {
alert("Are you sure?");
});
NOTE: It might seem like it's not working in Chrome, but it is. That's because Chrome blocks alert
s in the onunload
event.