Я использую следующий код, чтобы закрыть модальное окно Bootstrap с помощью кнопки «Назад».
//close modals with back btn
$('.modal').on('show.bs.modal', function (e) {
window.history.pushState('forward', null, '#modal');
});
$('.modal').on('hide.bs.modal', function (e) {
//pop the forward state to go back to original state before pushing the "Modal!" button
});
$(window).on('popstate', function () {
$('.modal').modal('hide');
});
Это работает нормально - нажатие кнопки «Назад» действительно закрывает модальное окно и не выполняет переход.
Но проблема в том, что когда я делаю это несколько раз:
- открыть модальный
- нажать кнопку возврата (закрывает модальный)
- открыть модальный
- нажмите кнопку «Назад» (закрывает модальное окно)
А затем, если я нажму кнопку «Назад», я не перейду на страницу реферера (которой я должен был быть), но я остаюсь на той же странице. Мне нужно нажимать кнопку «Назад» столько раз, сколько я открывал модальное окно, чтобы иметь возможность уйти со страницы.
Кажется, что каждый раз, когда я открываю модальное окно, запись в историю добавляется и остается там.
Есть ли решение для этого?