history.replaceState()

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');