2013-08-30 2 views
1

새로운 JS/HTML5 history 메소드를 테스트하고 있습니다. 서브 페이지로드에 나는 URL과 역사 상태 변경 이벤트가 : 사용자가 버튼을 다시 클릭하면 이제기록에서 페이지를 새로 고치는 방법. 상태 변경 (뒤로 버튼 클릭시)?

$("#content").load("./content/map.txt", function() { 
    history.pushState({}, "map", "map.html"); 
    window.history.go(1); 
}); 

history.state하고 (현재 URL을 새로 고치지 않고) 이전 페이지를로드하지 않고 URL 변경 하지만 .

나는 history.state 변화를 수동으로 새로 고침을 추가하려고

,이 같은 발견 :

window.addEventListener('popstate', function(e){ 
    if (history.state){ 
     self.loadImage(e.state.path, e.state.note); 
    } 
}, false); 

을했지만 작동하지 않습니다.

+0

이 기록 기능 만 캐시 브라우저에서 어떻게 당신이 그것을 처리와 함께 할 일이 많이 없습니다. 또한 window.history.back을 사용하십시오. – kangoroo

+0

try'replaceState()' – rps

답변

-1

이 시도 :

window.onpopstate = function(event) { 
    if(event.state["map"] == "some_state") // get the current state from the event obj 
    location.reload(); // reloads the current page to clear ajax changes 
}; 
+0

페이지를 새로 고침하지 않아도된다는 생각에 반하는 것입니다. – putvande

+0

그런 다음 그는 location.reload(); 대신 메서드에서 원하는대로 수행 할 수 있습니다. 요점은 이것이 상태 변화를 듣고 현재 상태를 얻는 데 효과가 있다는 것입니다. – Michael

관련 문제