history.replaceState() - змінює поточну запис в історію браузера, змінює адресу сторінки без її перезавантаження.
history.replaceState(data, title [, url])
history - об'єкт history.
data - дані які необхідно зберегти. Якщо ніяких даних не потрібно то вказують null. Щоб отримати дані поточної сторінки використовують history.state. Зверніть увагу що можливе обмеження на об'єм даних.
title - рядок з заголовком.
url - URL адреса веб-сторінки. Якщо не вказана то використовується поточна адреса.
replaceState() метод об'єкту history який змінює поточну запис в історії сесії браузера,змінює адресу сторінки при цьому браузер не завантажує сторінку за вказаною URL адресою.
З метою безпеки URL повинен мати той самий домен, порт і протокол інакше виникне помилка:
//Security Error: Content at http://xn--80adth0aefm3i.xn--j1amh/history.pushState may not load data from https://ua.sinoptik.ua
history.replaceState(null, 'Погода','https://ua.sinoptik.ua');
При цьому браузер не буде завантажувати цей URL після виклику replaceState(), але може завантажити пізніше коли обновлюється сторінка або перезавантажується браузер.
Щоб додати запис в історію використовуйте pushState()
history.replaceState(null, 'JavaScript','http://яваскрипт.укр');
history.replaceState({"data":Date()}, 'JavaScript','http://яваскрипт.укр/about');