Capturando o resultado do diálogo window.onbeforeunload de confirmação

Existe uma maneira de capturar o resultado da janela. Antes de descarregar a caixa de diálogo de confirmação como a abaixo do Stack Overflow (isso acontece ao sair da página 'Fazer pergunta' sem postar a pergunta

É assim que aparece no Chrome, acredito que seja um pouco diferente em outros navegadores, mas você sempre tem algum tipo de botão sim / não.

Presumivelmente, se eles ainda estiverem na página ofensiva após o evento ter sido acionado, eles escolheram ficar e você provavelmente poderia descobrir isso assistindo a sequência de js. Contudo Gostaria de saber como determinar se eles clicaram em "Sair desta página"?

Eu implementei isso como abaixo:

// concept taken from SO implementation
function setConfirmUnload(showMessage, message) {
    window.onbeforeunload = showMessage ? (message ? message : "this is a default message") : null;
}

// pseudo code
listen to changes on inputs
if any inputs fire a change event
   call setConfirmUnload(true, 'My warning message')

Not Estou usando jQuery no meu site.

Estou essencialmente tentando implementar uma implementação de desenho como o Gmail, em que se um usuário deixa uma página com um formulário para o qual fez alterações sem salvar, é aquecido por uma caixa de diálogo semelhante. Se eles optarem por descartar as alterações e sair da página, preciso limpar alguns registros temporários do banco de dados (estou pensando em uma chamada AJAX ou simplesmente enviando o formulário com umdelete flag) e depois enviá-los a caminh

minha pergunta também se refere a:

jQuery AJAX chama o manipulador onunload disparando APÓS obter a página em uma atualização manual. Como garanto que o onunload acontece primeiro?

questionAnswers(3)

yourAnswerToTheQuestion