Я знаю, что это довольно устаревший вопрос, но я нашел решение проблем с кнопкой «назад/вперед» при переключении между стандартной страницей и страницей состояния истории.
Сценарий: используйте историю HTML5 (или плагин history.js) на наборе страниц. Затем на других страницах нам нужны реальные загрузки, также известные как стандартная страница (не спрашивайте, почему, но есть определенные варианты использования, в которых это может понадобиться)
Когда вы переходите со страницы состояния истории и выполняете реальную загрузку на стандартную страницу. Вы не можете вернуться НАЗАД: он меняет URL-адрес, но не загружает страницу — он только запускает изменение состояния; который я предполагаю, является проблемой оригинального поста. Мое личное мнение состоит в том, что это ошибка браузера (однако проблема есть во всех браузерах), потому что браузер должен знать, что страница, на которой вы находитесь, была перезагружена за пределами страницы состояния истории.
Я исправил это с помощью чего-то очень простого: прослушивание события statechange и указание браузеру обновляться, когда оно срабатывает. Таким образом, мне все равно, возвращаются они назад или вперед с этой страницы. Если браузер считает, что состояние изменяется (ссылки не запускают событие statechange), это событие запускается только назад/вперед на странице состояния истории, поэтому проблема решается.
Код с использованием плагина jQuery + History.js:
$(window).on('statechange', function() {
window.location.reload();
});
Если это не имеет смысла, вероятно, у вас нет этой проблемы. Однако я заметил это на многих сайтах, которые действительно используют историю HTML 5 (даже на pinterest.com возникает эта проблема, если вы перезагружаетесь в модальном изображении, а затем пытаетесь вернуться).
Надеюсь, если у вас есть эта проблема, вы найдете этот ответ и вздохнете с огромным облегчением :)
person
James Wagoner
schedule
01.02.2013