Как запретить навигацию по страницам до завершения вызова ajax
Таким образом, у меня есть вызов ajax для сброса нескольких десятков фрагментов данных размером всего в несколько мегабайт, после чего они сохраняются локально с помощью файловой системы html5 api.
Я хотел запретить пользователю уходить со страницы до того, как были сделаны вызовы ajax. Я решил изучитьonbeforeunload
событие, чтобы он уведомил, что пользователь должен оставаться на странице, пока вызовы ajax не будут завершены. Я установил следующее до вызова AJAX и в конце / успешности вызова AJAX сбросилwindow.onbeforeunload
.
window.onbeforeunload = function(){
return "Information is still downloading, navigating away from or closing "+
"this page will stop the download of data";
}
Когда я пытался закрыть страницу или отойти от страницы, всплывающее сообщение появляется, как и ожидалось, информируя пользователя остаться. Однако, как только я подтверждаю, что хочу остаться на странице, вызовы ajax не возобновляются с того места, на котором они остановились. Есть ли способ предотвратить приостановку / остановку вызовов ajax или продолжить / возобновить их выполнение?
Я открыт для любых идей по реализации желаемой функциональности, описанных в заголовке этого поста.