"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como executar o código no fechamento da janela do navegador ou na atualização da página?

Como executar o código no fechamento da janela do navegador ou na atualização da página?

Publicado em 2024-11-22
Navegar:294

How to Execute Code on Browser Window Close or Page Refresh?

Executando código no fechamento da janela do navegador ou na atualização da página

Frequentemente, é desejável executar ações específicas quando um usuário fecha uma janela do navegador ou atualiza uma página da web. Felizmente, existem dois manipuladores de eventos disponíveis para atender a essa necessidade: window.onbeforeunload e window.onunload.

window.onbeforeunload

O evento onbeforeunload é acionado quando um usuário tenta sair de uma página. Normalmente, é usado para exibir uma caixa de confirmação solicitando ao usuário que confirme sua escolha ou evite que ele saia da página caso tenha dados não salvos. No entanto, ao não retornar uma string ou definir event.returnValue, você pode evitar que o navegador mostre uma mensagem e execute seu código silenciosamente.

window.onunload

O O evento onunload é acionado quando uma página é descarregada do navegador. É comumente usado para executar tarefas de limpeza, como remover quaisquer ouvintes de eventos remanescentes ou fechar conexões de banco de dados.

Implementação

Tanto onbeforeunload quanto onunload podem ser atribuídos às propriedades da janela ou usando o método .addEventListener. Aqui está um exemplo:

// window property
window.onbeforeunload = function() {
  // Do something
};

// .addEventListener
window.addEventListener("beforeunload", function(e) {
  // Do something
});

Nota:

No caso de iframes, os eventos onbeforeunload não são acionados quando o iframe é excluído por seu pai, mas os eventos unload e pagehide sim. No entanto, o Firefox atualmente possui um bug que impede que esses eventos sejam disparados em casos de exclusão de iframe, impossibilitando a execução do código imediatamente antes de um iframe ser removido no Firefox.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3