Понимание работы History API: возврат на предыдущую страницу
Пытаюсь понять работу с History API. Вроде бы с основным разобрался.
Изменяю адрес и title с помощью window.history.pushState(data, title [, url])
, с этим проблем нет.
Теперь пытаюсь понять, как должен работать "возврат на предыдущую страницу". Сейчас если пользователь нажимает "назад", то адрес меняется, но сама страница никак не изменяется.
Допустим, есть 2 страницы:
www.example.com/
www.example.com/test
Пользователь изначально заходит на страницу www.example.com/, нажимает на определённую кнопку, которая вызывает подгрузку определённых форм и изменение адреса страницы на www.example.com/test. Если пользователь нажимает на кнопку "назад", то адрес меняется на www.example.com/, но сама страница никак не изменяется.
Вопрос: так и должно быть?
Может, я не так понял, но, в моём понимании, должен был произойти возврат к состоянию страницы www.example.com/... Или всё-таки это работает иначе, и надо также отслеживать возврат назад и прописывать весь "обратный ход" на JS?
UPD
@TheDoctor, Тогда не понимаю, где я мог допустить ошибку. Может, не так формулирую. Попытаюсь объяснить более подробно, убрав всё лишнее.
Допустим, на главной странице только 2 div блока c id "div1" и "div2" соответственно. Изначально div2 скрыт (display:none). div1 отображается и занимает некоторую область. Клик по div1 вызывает отображение блока div2 и изменяет текущий адрес с / на /test (с помощью history.pushState).
Это так работает, если пользователь открыл изначально /, если же пользователь открыл /test, то сервер выдаёт всё те же 2 блока, только div2 уже отображается (display:block) сразу.
Если пользователь открывает страницу /, кликает по div1 (адрес страницы меняется на /test и div2 отображается), затем нажимает "назад", должен ли блок div2 стать невидимым опять? Сейчас блок невидимым не становится. Просто адрес меняется и всё.