Muitas páginas têm alertas quando você as deixa: se você fechar as guias, navegar sem salvar, etc., há várias razões pelas quais um site o alertaria / impedia de sair até que você confirmasse um alerta, por exemplo, "Tem certeza de que deseja sair desta página? ".
Isso geralmente é feito com os manipuladores onbeforeunload
e / ou onunload
.
Aqui está um exemplo.
Existe alguma maneira de impedir alertas / eventos de bloqueio de usuários gerados por esses manipuladores? Basicamente, gostaria de deixar o JS ativado e, especificamente, não permitir coisas que me impediriam de sair de uma página sem que um clique extra acontecesse.
onbeforeunload
e os onunload
manipuladores ainda devem disparar; eles simplesmente não devem fazer coisas que bloqueiam o usuário. Isso significa que não há alertas nem operações que demoram mais do que alguns segundos.
Encontrei alguns plugins que editam / greasemonkey corrigem o javascript para páginas específicas e brincamos um pouco com o código deles para tentar torná-los mais aplicáveis universalmente. No entanto, espero encontrar uma solução que funcione em qualquer página que tente bloquear a saída do usuário.
onbeforeunload
) funcionarão apenas para páginas que usam onbeforeunload
, não para páginas que usam um dos outros métodos para anexar eventos.