Cómo evitar la navegación de la página hasta que se complete la llamada ajax

Así que tengo una llamada de ajax para eliminar varias docenas de trozos de datos de varios megabytes de tamaño, y luego almacenar los datos localmente a través del sistema de archivos html5 api.

Quería evitar que el usuario se aleje de la página antes de que se realicen las llamadas ajax. Decidí explorar elonbeforeunload evento, para que notifique que el usuario debe permanecer en la página hasta que se completen las llamadas ajax. Establecí lo siguiente antes de la llamada AJAX y al final / éxito de la llamada AJAX reinicio lawindow.onbeforeunload.

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

Cuando intenté cerrar la página o alejarme de la página, aparece un mensaje emergente como se esperaba, informando al usuario que se quede. Sin embargo, una vez que confirmo que quiero permanecer en la página, las llamadas ajax no se reanudan donde las dejaron. ¿Hay alguna forma de evitar que las llamadas ajax se detengan / detengan o continúen / reinicien con sus ejecuciones?

Estoy abierto a cualquier idea para implementar la funcionalidad deseada descrita en el título de esta publicación.

Respuestas a la pregunta(1)

Su respuesta a la pregunta