В принципе, у меня есть страница, которая содержит форму. Когда пользователь отправляет эту форму, вызывается функция Javscript, и пользователь динамически представляется с новой формой.Добавить в журнал просмотра без перезарядки страницы
На этом этапе я хочу, чтобы пользователь мог нажать кнопку возврата браузера и вернуться к первой форме. Это возможно?
Спасибо за быстрые ответы, но у меня возникли проблемы с запуском pushState. После нажатия кнопки «Назад» HTML по-прежнему отображается «вторая форма».
Вот код, который я использовал, чтобы проверить это:
<script>
function newPage(){
history.pushState({state:1}, "State 1", "?state=1");
document.getElementById('formBox').innerHTML="second form";
}
</script>
<input type="button" onclick="newPage();" value="forward" />
<div id='formBox'>first form</div>
Это прекрасно, если вы не возражаете против его взлома в старых браузерах. –
@MichaelRobinson (но в основном для будущих разработчиков, которые находят этот ответ). Такие функции следует рассматривать в настоящее время как приятное дополнение, чтобы улучшить работу пользователей. Неудобство отсутствия опции «назад» не разбивает сайт, и резервные копии могут быть реализованы, например, событие «beforeunload». Поскольку браузеры продвигаются вперед, это должен быть правильный ответ, потому что это родной javascript. –
Я знаю, что это произошло из документов так же, как вы его написали, но знаете ли вы, какой эффект имеет stateObj? Какова цель foo: и "bar"? – Luke