История HTML5, отключающая кнопку «Вперед»

Я пишу одностраничное приложение javascript, используя API истории HTML5. Приложение загружает контент через Ajax и внутренне поддерживает информацию о состоянии на экране переднего плана, используя стек экрана.

Я хочу включить навигацию с помощью кнопки «Назад», но я никогда не хочу, чтобы кнопка «Вперед» была включена.

Пара кратких сведений:

  • Пользователь должен иметь возможность вернуться только назад, но не вперед
  • . Нажатие кнопки «Назад» в браузере закрывает текущую страницу экрана, на которой находится пользователь, и перезагружает предыдущую
  • . Проект ориентирован только на последнюю версию Chrome, поэтому реализация других браузеров не важна
  • . Я использую только собственный JavaScript и jQuery, я хотел бы сделать это без History.js

Когда я загружаю новый экран, я запускаю следующую строку:

history.pushState(screenData, window.document.title, "#");

Я привязываюсь к событию popstate через jQuery:

$(window).bind("popstate", function(event) {
    if (event.originalEvent.state != null) {
        // Logic that loads the previous screen using my screen stack
    }
}); 

Управление историей моего приложения работает, однако, когда я возвращаюсь, кнопка «Вперед» активируется. Мне нужно выяснить, как удалить данные из historyпо событию popstate.

Могу ли я сделать это с помощью replaceState? Я не знаю, как это сделать...

14
задан Donald Duck 8 September 2017 в 19:54
поделиться