Como evitar a navegação de página até que a chamada do ajax seja concluída

Então eu tenho uma chamada de ajax para derrubar várias dúzias de blocos de dados de vários megabytes de tamanho, depois armazenando os dados localmente através da API do sistema de arquivos html5.

Eu queria impedir que o usuário navegasse para longe da página antes que as chamadas do ajax fossem concluídas. Eu decidi explorar oonbeforeunload evento, para que ele notifique que o usuário deve permanecer na página até que as chamadas do ajax sejam concluídas. Eu defini o seguinte antes da chamada AJAX e no final / sucesso da chamada AJAX eu redefinir owindow.onbeforeunload.

window.onbeforeunload = function(){
    return "Information is still downloading, navigating away from or closing "+ 
        "this page will stop the download of data";
}

Quando tentei fechar a página ou sair da página, a mensagem pop-up aparece conforme o esperado, informando o usuário para ficar. No entanto, depois de confirmar que quero permanecer na página, as chamadas do ajax não são retomadas de onde pararam. Existe uma maneira de impedir que as chamadas do ajax parem / parem ou continuem com as execuções?

Estou aberto a quaisquer ideias para implementar a funcionalidade desejada descrita no título deste post.

questionAnswers(1)

yourAnswerToTheQuestion