Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Exibir uma mensagem quando o usuário clicar no botão fechar (X) do navegador

Boa tarde, Como faço para exibir uma mensagem para o usuário, quando ele clicar no botão fechar do navegador (X) ?

4 respostas

Fala aí André, tudo bem? Você pode usar o unload, algo do tipo:

document.addEventListener('unload', () => {
    confirm('Deseja fechar a página?')
})

Espero ter ajudado.

solução

Opa, André! Como vai?

Há um evento específico que é disparado antes da página ser descarregada que é o onbeforeunload! Contudo, olhando a documentação desse evento, vemos logo de cara uma nota que diz:

Note: To combat unwanted pop-ups, some browsers don't display prompts created in beforeunload event handlers unless the page has been interacted with. Moreover, some don't display them at all.

Ou seja, muitos navegadores não permitem a criação de alertas nesse evento. Mais do que isso! Se vc der uma olhada no final desse mesmo link da documentação, verá que todos os navegadores mais atuais não permitem fazer esse tipo de coisa. Esse comportamento, pelo que andei vendo, é motivado por questões de segurança de aplicações.

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Olá Matheus, No Chrome não funcionou o unload.

Olá Gabriel, Obrigado pela pesquisa. Vou pensar numa outra saída.

Obrigado, André

Por nada, André! Só acho que essa funcionalidade não vai rolar de fazer com JS. Por enquanto, darei o tópico como resolvido, mas qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!