2012-11-08 4 views
4
$(window).bind('statechange',function(){ 
    var State = History.getState(), 
    url = State.url; 
}); 

를 얻을 url은 현재 URL을 반환합니다. 내가 찾고있는 것은 그 함수 내에서 이전 URL을 얻는 것입니다. 예를 들어 /cars/ferrari에 있고 /cars/ford으로 가면 urlcars/ford을 반환하지만 /cars/ferrari을 얻고 싶습니다.역사 API : 자바 스크립트 Pushstate는 이전 URL을 다음 함수에서

statechange 이벤트 내에서 이전 URL을 얻으려면 어떻게해야합니까?

+0

을받을 때 pushState를 통해 탐색 할 때

history.pushState( {'previous_url': document.location.href}, document.title, "?some_query_string" ); 

그럼 내가 어딘가에서 현재 URL을 절약 할 수 :

은 그래서 당신은 pushState를 사용할 때. – chovy

답변

-1

이 시도 :

alert(document.referrer); 

참고 :

값이를 통해, 예를 들어, 사용자가 직접 (안 링크를 통해 페이지 로 이동 한 경우 빈 문자열이지만, 서표). 이 속성은 문자열을 반환하기 때문에 DOM 액세스 을 참조 페이지에 제공하지 않습니다.

여기에 대한 자세한 내용보기 : https://developer.mozilla.org/en-US/docs/DOM/document.referrer?redirectlocale=en-US&redirectslug=document.referrer

트릭을 할 것으로 보인다
+0

가 작동하지 않는 것 같습니다. 어쨌든 고마워! –

11
$(window).bind('statechange',function(){ 
    // Prepare Variables 
    var State = History.getState(), 
     url = State.url, 
     states = History.savedStates, 
     prevUrlIndex = states.length - 2, 
     prevUrl = states[prevUrlIndex].hash; 
}); 

! prevUrl이 원하는 URL을 제공합니다.

+3

여기에는 History.js가 필요합니다. 그렇습니까? – chovy

+0

'$ (window) .bind ('statechange')'는 나를 위해 어떤 것도 유발하지 않는 것 같습니다. – roborourke

1

내가 다시 할 수 있도록 URL을 상태 개체에 푸시하면됩니다. 당신이 그것에 previous_url있을 것이다 상태 :

관련 문제