Событие 'popstate' не срабатывает при нажатии кнопки назад в Chrome
У меня что-то типа одностраничного вэб-приложения. Для обработки нажатия кнопки "назад" от пользователя я использую событие 'popstate':
В Firefox и Safari событие отрабатывает нормально - вместо перехода на предыдущую страницу (страница логина) происходит навигация внутри приложения.
В Chrome, после последних обновлений - событие корректно вызывается только один раз. Если нажать кнопку "назад" второй раз - то событие не сработает, пользователя выбьет на окно логина.
function removeBack(){
history.pushState(null, null, '');
window.addEventListener('popstate', function () {
console.log('backOneStep0') ;
backOneStep(0); // возврат на предыдущий экран приложения
history.pushState(null, null, '');
});
};
Примечание - если перед вторым нажатием кликнуть где-либо на странице, то событие сработает и во второй раз.
UPD. Вот здесь - https://stackoverflow.com/questions/57339098/chrome-popstate-not-firing-on-back-button-if-no-user-interaction
Говорят что так и должно быть, но ведь буквально до недавнего времени все работало! Как же тогда делать одностраничное приложение, если нельзя ловить нажатие кнопки "назад"?