Я пишу одностраничное приложение 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? Я не уверен, как это сделать...