Аппаратная кнопка «Назад» Android не запускает «popstate»Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Аппаратная кнопка «Назад» Android не запускает «popstate»

Сообщение Anonymous »

В мобильном приложении SPA я переопределил поведение возврата по умолчанию для переключения между страницами.

Код: Выделить всё

        // 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 есть аппаратная кнопка «Назад» (Samsung S5, BlackBerry Key 2 — два, которые я проверяю). бывает). Событие popstate никогда не вызывается при нажатии аппаратной кнопки возврата, поэтому пользователь выгружается из приложения, а не возвращается на страницу. Есть ли какой-либо известный способ перехватить эту аппаратную кнопку «Назад» через Javascript?

Чтобы внести ясность, «Назад» отлично работает почти на всех устройствах, кроме тех, у которых есть аппаратная кнопка «Назад». (а не программная кнопка или пролистывание назад, как в Android 10), что, похоже, не запускает событие истории popstate.

Подробнее здесь: https://stackoverflow.com/questions/581 ... g-popstate
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»