Код: Выделить всё
// create history states
history.pushState(-1, null); // back state
history.pushState(0, null); // main state
history.pushState(1, null); // forward state
history.go(-1); // start in main state
window.addEventListener('popstate', function (event) {
var state = event.state;
if (state === -1) {
if (!this.goBack()) {
return false;
}
// reset state to what it should be
history.go(-state);
}
}, false);
Чтобы внести ясность, «Назад» отлично работает почти на всех устройствах, кроме тех, у которых есть аппаратная кнопка «Назад». (а не программная кнопка или пролистывание назад, как в Android 10), что, похоже, не запускает событие истории popstate.
Подробнее здесь: https://stackoverflow.com/questions/581 ... g-popstate