Добавить в историю браузера без перезагрузки страницы

В принципе, у меня есть страница, содержащая форму. Когда пользователь отправляет эту форму, вызывается функция 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>

Ответ 2

Я выполнил аналогичное поведение с API-интерфейсами истории/состояния HTML5, используя History.js, описанный таким образом:

Обеспечьте опыт перекрестной совместимости для всех браузеров HTML5 (все они реализовать API истории HTML5 несколько иначе разные типы поведения, а иногда и ошибки - History.js исправляет это обеспечивая, чтобы опыт был таким же ожидаемым/тем же/большим во всем браузеры HTML5)

Пример:

History.pushState({state:1}, "State 1", "?state=1");