У меня появляется ошибка кода, когда кто-то нажимает кнопку «Назад» во время загрузки ajax-вызова. Есть ли способ отключить его, пока вызов не завершится успешно?AJAX Отключить кнопку «Назад» до тех пор, пока не будет выполнен обратный вызов
Пример:
$.ajax({
// Disable back button
url: "test.html",
context: document.body
}).done(function() {
// Enable back button
$(this).addClass("done");
});
Я знаю, что это плохо, чтобы угнать функциональность браузера, и я отметил, что, но это не мой выбор здесь я не являюсь владельцем проекта. Кроме того, это просто временно на несколько секунд, пока ajax делает свою вещь. Я уже искал, но не придумал ничего особенно полезного для этого сценария.
Вы имеете в виду кнопку "Назад" в браузере? Нет, нет способа отключить его от кода JavaScript. * Большинство * вы можете сделать, это использовать 'onbeforeunload', чтобы показать« вы уверены, что хотите уйти? » подтверждение. –
Вы не можете их остановить. Но вы можете попытаться связать событие с событием 'window' beforeunload, когда есть еще один запрос AJAX. Правильное выполнение может вызвать всплывающее окно для пользователя, спрашивающего, действительно ли они хотят покинуть страницу или нет (так что это не относится к нажатию кнопки «Назад» ... это для любого способа покинуть страницу) – Ian