--- title: History.replaceState() slug: Web/API/History/replaceState translation_of: Web/API/History/replaceState ---
History.replaceState()
메서드는 현재 history를 수정해 메소드의 매개 변수에 전달 된 stateObj
, title
, URL
로 대체합니다. 이 방법은 특히 일부 유저의 동작에 대한 응답으로 history 객체의 상태나 현재 history의 URL을 업데이트하려는 경우에 유용합니다.
history.replaceState(stateObj, title[, url])
stateObj
replaceState
에 전달된 history 항목과 연관된 JavaScript 객체입니다. state object는 null
일 수 있습니다.title
url
{{optional_inline}}https://www.mozilla.org/ 에서 아래 JavaScript를 실행한다고 가정합시다:
const stateObj = { foo: 'bar' };
history.pushState(stateObj, '', 'bar.html');
위 두 줄에 대한 설명은 Working with the History API 문서의 Example of pushState()
method에서 확인할 수 있습니다. 그 다음, https://www.mozilla.org/bar.html에서 아래와 같은 JavaScript를 실행한다고 가정해보세요:
history.replaceState(stateObj, '', 'bar2.html');
이렇게하면 URL 표시줄에 https://www.mozilla.org/bar2.html이라고 표시되지만, 브라우저가 bar2.html을 로드하거나
bar2.html
파일이 있는지 확인하지는 않습니다.
이제 사용자가 https://www.microsoft.com으로 이동한 다음, 뒤로가기 버튼을 누른다고 가정해봅시다. 이 때, URL 표시줄에는https://www.mozilla.org/bar2.html이 표시됩니다. 사용자가 다시 뒤로가기 버튼을 누르면, URL 표시줄에는 https://www.mozilla.org/foo.html이 표시되고, bar.html은 완전히 무시되어 표시되지 않습니다.
Specification | Status | Comment |
---|---|---|
{{SpecName("HTML WHATWG", "history.html#dom-history-replacestate", "History.replaceState()")}} | {{Spec2("HTML WHATWG")}} | {{SpecName("HTML5 W3C")}} 이후 변화 없음. |
{{SpecName("HTML5 W3C", "history.html#dom-history-replacestate", "History.replaceState()")}} | {{Spec2("HTML5 W3C")}} | 초기 정의. |
{{Compat("api.History.replaceState")}}