--- title: History.replaceState() slug: Web/API/History/replaceState translation_of: Web/API/History/replaceState ---
Метод History.replaceState()
изменяет текущую запись в истории, заменяя её на значения stateObj
, title
и URL
, передаваемые в параметрах метода. Данный метод особенно полезен, когда вы хотите обновить объект состояния или URL текущей записи в истории в ответ на какое-то действие пользователя.
history.replaceState(stateObj, title, [url])
stateObj
replaceState()
. Объект состояния может быть null
.title
url
{{optional_inline}}Предположим, на странице http://mozilla.org/foo.html
выполняется следующий JavaScript-код:
let stateObj = { foo: "bar" } history.pushState(stateObj, "page 2", "bar.html")
Объяснение этих двух строк можно найти в приведённом выше разделе пример метода pushState().
Далее, предположим, на странице http://mozilla.org/bar.html
выполняется JavaScript-код:
history.replaceState(stateObj, "page 3", "bar2.html")
Это приведёт к тому, что в URL-строке отобразится адрес http://mozilla.org/bar2.html
, но браузер не станет сразу загружать bar2.html
и даже не станет проверять наличие этой страницы bar2.html
.
Теперь предположим, что пользователь переходит по адресу http://www.microsoft.com
, а затем нажимает на кнопку "Назад". В этом случае в URL-строке отобразится http://mozilla.org/bar2.html
. Если же пользователь снова нажмёт на кнопку "Назад", в URL-строке отобразится http://mozilla.org/foo.html
и полностью обойдёт bar.html
.
Specification | Status | Comment |
---|---|---|
{{SpecName("HTML WHATWG", "history.html#dom-history-replacestate", "History.replaceState()")}} | {{Spec2("HTML WHATWG")}} | No change from {{SpecName("HTML5 W3C")}}. |
{{SpecName("HTML5 W3C", "history.html#dom-history-replacestate", "History.replaceState()")}} | {{Spec2("HTML5 W3C")}} | Initial definition. |
{{Compat("api.History.replaceState")}}