I'm trying to post data when a user leaves my page. I have finally managed to find a working solution, however, it shows a confirmation dialog when the user leaves. I have tried return null;
but it didn't work. Is it possible to disable the dialog?
window.onbeforeunload = function() {
$.post("track.php", {
async: false,
refid: refid,
country: country,
type: type,
});
return '';
}
From the Mozilla Developer Network page:
When this event returns a non-void value, the user is prompted to confirm the page unload.
This means the return value of the handler must be undefined
(not ''
, false
, or null
) in order to avoid triggering the confirmation prompt.
window.onbeforeunload = function() {
$.post("track.php", {
...
});
return undefined;
}
In javascript you can skip the return value altogether to get the same result.
In coffeescript with jquery it's something like
$(document).ready ->
$(window).bind('beforeunload', ->
#put your cleanup code here
undefined
)