Pessoal, já estou há alguns dias quebrando a cabeça nesse problema... O cenário é o seguinte: tenho uma página do sistema dividida em abas, estou usando o jQuery Tabs para isto. Cada aba tem um textarea (que no caso estão acopladas com o TinyMCE, mas isso não vem ao caso). Com tantas abas e campos de texto, o usuário está com medo de digitar alguma coisa lá, esquecer de gravar e perder a informação. Então pensei em um esquema onde toda vez que o usuário troca de aba, eu executo uma função ajax que compara se o conteúdo dos textareas mudou, dando um aviso pro usuário se ele quer "salvar". Até aí funciona bem. O problema é quando o cara altera algum textarea e muda de página. Resolvi tentar o onbeforeunload, mas não está funcionando. Quando clico em algum link pra deixar a página, o browser até tenta executar as funções que checam alterações nos textareas, mas é como se a tela mudasse antes de finalizar a checagem... Eu coloquei um alert "teste" só pra travar a página, aí ele fez a checagem corretamente, e quando eu fechei o alert ele seguiu pro link clicado. Eu to usando o onbeforeunload errado? Tem algum jeito de "brecar" a página, como eu fiz com o alert, até ele fazer os testes necessários e só depois seguir em frente?