Глупый вопрос конечно, ясно что из за меня. Но помогите пожалуйста разобраться. Я вроде все прочитал, но не пойму как сделать правильно.
Мне надо в приложении сделать навигацию в пределах одной страницы. Точнее использовать кнопки браузера вперед/назад, что бы переключаться между состояниями приложения.
До этого с history api ничего общего не имел, потому сделал маленький файл test.html для опытов и положил его в c:\temp
<html>
<body>
<script>
window.onpopstate = function (ev) {
console.log("onpopstate", ev, window.history.state);
};
history.pushState("push1", "", "?push=1");
history.pushState("push2", "", "?push=2");
history.pushState("push3", "", "?push=3");
history.pushState("push4", "", "?push=4");
</script>
</body>
</html>
Открываю вкладку браузера к примеру с google.com. Потом в url строке вбиваю
file:///C://temp//test.html
и вижу
file:///C://temp//test.html?push=4
Все верною Но если я нажимаю кнопку Назад в браузере, то попадаю сразу на страницу google.com. Хотя ожидал увидеть в URL строке браузера с параметром push=3, то есть
file:///C://temp//test.html?push=3
Почему так происходит? Если в скрипте добавляю history.back() то Колбак метод показывает мне предыдущий стейт. А вот кнопка сразу кидает на другой сайт обратно. Не видит она историю созданную мной получается.
Спасибо зарание