티스토리 뷰

Javascript

history.pushState 사용하기

진태우 2017. 7. 7. 16:44


페이지를 reload하지 않고 url만 변경해야 할 경우 사용한다.

var state = { 'page_id': 1, 'user_id': 5 }; 
var title = 'Hello World';
var url = 'hello-world.html'; 
history.pushState(state, title, url);

state = 상태 값을 나타내는 것으로 브라우저에서 앞/ 뒤로 갈 때, 넘겨줄 데이터

title = 변경할 브라우저 제목 (변경을 원하지 않으면 null

url = 변경할 브라우저 URL


window.onpopstate = function(event) {
    alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
}


브라우저에서 뒤/앞으로 가는 버튼 클릭 시 onpopstate 이벤트가 발생하며 이때, 콜백함수에서 event.state는 pushState 함수의 인자 값이였던 state 객체가 넘어온 것이다.


-참고 자료

https://slipp.net/wiki/display/SLS/pushstate

https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_pushState()_method



'Javascript' 카테고리의 다른 글

textarea 동적으로 resizing 하기  (1) 2018.07.20
간단하게 날짜 포맷 변경해보기  (0) 2018.06.20
cookie 핸들링 해보기  (0) 2017.01.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함