Uma extensão ou um programa de software de terceiros para conseguir isso parece muito trabalho. Algumas respostas se aplicam apenas ao Mac, enquanto outras exigem que você adicione corredores de script no Google Chrome para injetar um determinado script em todas as páginas, o que causa novamente um problema em que a caixa de confirmação é mostrada para todas as guias.
Eu acredito que a necessidade da maioria dos usuários aqui é que eles querem proteger toda a janela de fechar de uma vez e não cada guia. Eu criei uma simples página HTML estática com um pouco de JavaScript que faz com que uma caixa de confirmação apareça quando a janela inteira está prestes a fechar.
Você pode encontrar a página HTML aqui (hospedada no JSBin): link
Como usá-lo? O único requisito é que você tenha a página aberta no Chrome sempre durante uma sessão para que, sempre que você clicar no botão "X" ou no atalho do teclado, feche a página Na janela do Chrome, o script na página que criei é executado e solicitado para confirmação.
- Você pode marcá-lo e abri-lo conforme sua necessidade - quando você está prestes a ir para uma longa sessão de navegação e deseja evitar esses acidentes, essa é a melhor opção.
- Se você não quer se incomodar em abri-lo toda vez que abre o Chrome, pode ir para a página > clique com o botão direito na guia > guia pin. Agora, sempre que você fechar o navegador, a guia fixa será aberta automaticamente na próxima vez que você abri-la.
- OU defina-o como uma das suas páginas de inicialização no Chrome. (melhor opção se você usar páginas de inicialização)
Os benefícios disso são:
- Nenhuma instalação ou extensão é necessária, isso é apenas uma página HTML simples
- Não exibe a caixa de confirmação várias vezes, ou seja, cada uma para todas as guias.
- Você pode criar seu próprio fork e usá-lo como quiser
Para transparência, este é o código JavaScript na página -
window.onbeforeunload = function(e) {
var dialogText = 'Are you sure you want to close the Window?';
e.returnValue = dialogText;
return dialogText;
};
Sim, é tudo! Simples e direto.