Execute o código após onbeforeunload modal

Você deseja executar algum código JS depois que o visitante clicar no botão ‘Permanecer nesta página’ em um modal onbeforeunload?

Eu encontrei um hack muito bom para fazer isso. Ele empurra o código no próximo ciclo da IU usando setTimeout, que é executado assim que o modal fecha e a execução é retomada:

$(function() {
$
(window).bind('beforeunload', function() {
setTimeout
(function() {
setTimeout
(function() {
$
(document.body).css('background-color', 'red');
}, 1000);
},1);
return 'are you sure';
});
});

Assista ao vivo aqui .

Fonte: http://stackoverflow.com/a/4651049/891962