Как динамически изменить url без сохранения новой записи в глобальной истории браузера?
Использую для замены текущего url функцию следующее: window.history.replaceState(null, null, newurl);
где newurl = новый адрес (тот же домен, меняется только значение get-параметра)
Но браузер всё равно создаёт новую запись в истории.
Да, он не создаёт новую запись для кнопки back, т.е. вернуться невозможно, но он создаёт её в своей истории (ctrl-h, если речь о chrome).
Как не сохранять новую запись в истории? (напр. как google maps, где при навигации по карте меняется url, но история браузера чиста).
1. У меня chrome не сохраняет навигацию по GM, но после вашего сообщения проверил в firefox, а вот он действительно сохраняет! 2. Да, но мне как раз нужно обновлять URL, чтобы люди могли скопировать ссылку и вернуться в то же место на карте, где были в последний раз.
В общем, думаю, что раз уж и у гугл навигация сохраняется в хистори, то ничего страшного, если и у меня будет :)
Barrakuda74: У меня в Chrome сохраняет. А на чём пишите приложение? Могу ошибаться, т.к. не дошёл до релиза ещё, но в Angular2, например, можно делать кастомные URL для компонентов. Там как раз можно подгружать компоненты таким образом, что зайдя изначально на myapp.com, а потом посетив myapp.com/about, myapp.com/contacts... и т.д., в истории сохранится лишь myapp.com. Но если пользователь пропишет URL как myapp.com/about, то попадёт в нужный раздел. Если я правильно понял то, что нужно реализовать. На чистом JS не уверен, можно ли так сделать.