JavaScript + onbeforeunload

Eu tenho uma consulta sobre o meu aplicativo. Sempre que o usuário fecha a janela do navegador acidentalmente, eu gostaria de fazer algumas operações de limpeza antes disso. Eu usei o evento onunload, mas o problema é que esse evento às vezes está disparando e às vezes não. O que devo fazer, há melhor maneira de lidar com esse tipo de problema.