기록

Internet Explorer 10은 HTML5 초안 사양의 기록 인터페이스를 새롭게 지원합니다. 여기에는 사이트의 기록 스택 및 URL을 관리할 수 있는 메서드도 포함됩니다. 이 컨트롤을 사용하면 최종 사용자가 예상하는 대로 뒤로 및 앞으로 단추가 작동하고, 탐색 또는 페이지 로드 없이 소규모 페이지 업데이트가 빠르게 수행됩니다. HTML5 기록은 W3C(World Wide Web 컨소시엄) HTML5 사양의 섹션 5.4.2에 정의되어 있습니다.

history.pushState() 및 history.replaceState() 메서드

history.pushState() 메서드를 사용하면 새 기록 항목을 만들 수 있으며, 선택적으로 상태 개체를 포함할 수 있습니다. history.replaceState() 메서드를 사용하면 현재 기록 항목을 수정할 수 있습니다. 이 두 메서드의 구문은 다음과 같습니다.


history.pushState(data, title, url); 
history.replaceState(data, title, url); 


매개 변수설명

data

새로운 기록 항목과 연결할 상태 개체. onpopstate 이벤트의 state 속성으로 반환됩니다.

title

현재 Internet Explorer 10에서는 무시됩니다.

url

(선택 사항) 동일한 도메인 또는 현재 URL 원본의 상대 또는 절대 URL.

 

이러한 새로운 HTML5 메서드를 사용하여 웹 사이트 내에서 경로를 수정할 수 있지만, 보안으로 인해 현재 URL의 도메인이나 원본은 수정할 수 없습니다. 또한 파운드 기호(해시라고도 함) 다음에 오는 URL 부분이나 URL의 물음표(?) 다음에 오는 쿼리 세그먼트도 수정할 수 있습니다. 예를 들어 URL "http://go.microsoft.com/fwlink/p/?LinkId=214816"을 사용하는 경우 ".com" 오른쪽에 있는 거의 대부분의 문자열을 수정할 수 있습니다. 이 주소를 "http://go.microsoft.com/fwlink/p/?LinkID=58649"로 변경할 수 있지만, 도메인(go.microsoft.com), 포트 또는 스키마(http://)는 변경할 수 없습니다. 다음 표에는 이 URL에 대한 그 밖의 업데이트 사항과 허용 여부가 나와 있습니다.

URL 변경상태
go.microsoft.com/foo허용됨
http://go.microsoft.com/foo허용됨
/foo허용됨
Foo?query허용됨
/foo#somedata허용됨
www.microsoft.com오류
http://go.microsoft.com:9090/foo오류

 

window.onpopstate 이벤트

하나 이상의 항목이 history.pushState() 또는 history.replaceState()를 사용하여 생성된 경우 window.onpopstate 이벤트 처리기에서 사용자가 기록 내 두 이동 항목 사이를 탐색할 때 앱에 알립니다. 이 동작은 뒤로 또는 앞으로 단추를 클릭하거나, 상황에 맞는 메뉴에서 뒤로를 클릭하거나 또는 백스페이스 키를 누르는 등 UI 상호 작용을 통해 발생합니다. 또한 alt+왼쪽, alt+오른쪽 또는 백스페이스 키를 누르거나 history.back, history.forward 또는 history.go를 호출할 때도 발생할 수 있습니다.

popstate 이벤트 매개 변수는 pushState 또는 replaceState 메서드의 상태 개체(데이터 매개 변수로 설정)를 포함합니다. history.state 속성에는 상태 개체도 포함됩니다. 페이지가 처음에 로드될 때 상태는 null입니다. pushState가 호출될 때 앞으로 스택이 지워지지만, replaceState를 호출할 때는 앞으로 스택이 지워지지 않습니다.

API 참조

PopStateEvent
pushState

Internet Explorer 테스트 드라이브 데모

HTML5 기록 예제: 실행 취소

IEBlog 게시물

IE10의 HTML5 기록

사양

HTML5: 섹션 5.5.2

 

 

표시:
© 2014 Microsoft