Uma extensão ou um programa de software de terceiros para o conseguir parece demasiado trabalho. Algumas respostas aplicam-se apenas ao Mac enquanto outras requerem a adição de scripts no Chrome para injectar um determinado script em todas as páginas, o que novamente causa um problema onde a caixa de confirmação é mostrada para todos os separadores.
Acredito que a necessidade da maioria dos utilizadores aqui é que eles queiram proteger toda a janela de fechar de uma só vez e não cada separador. Criei uma página HTML estática simples com um pouco de JavaScript que faz aparecer uma caixa de confirmação quando a janela inteira está prestes a fechar.
Pode encontrar a página HTML aqui (alojada no JSBin) : http://jsbin.com/pejejib
** Como utilizá-la? ** O único requisito é que tenha a página aberta no Chrome sempre durante uma sessão, para que sempre que tenha clicado no botão “X” ou no atalho do teclado para fechar a janela do Chrome, o script na página que eu criei seja executado e solicitado confirmação.
- Pode marcá-lo e abri-lo de acordo com os seus requisitos - quando está prestes a ir para uma longa sessão de navegação e quer evitar tais acidentes, então esta é a melhor opção.
- Se não se quiser dar ao trabalho de o abrir cada vez que abrir o Chrome, pode ir à página > clique com o botão direito do rato no separador > separador pin. Agora sempre que fechar o navegador, a aba pinada abrirá automaticamente na próxima vez que o abrir.
- OU configure-o como uma das suas páginas de arranque no Chrome. (melhor opção se utilizar as páginas de arranque)
Os benefícios disto são:
- Não é necessária nenhuma instalação ou extensão, isto é apenas uma simples página HTML
- Não mostra a caixa de confirmação várias vezes, ou seja, cada uma para todos os separadores.
- Pode criar o seu próprio garfo e utilizá-lo da forma que desejar
Para transparência, este é o código JavaScript da 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 directo.