2017-09-21 7 views
0

탐색없이 주소 url을 변경하고 싶습니다. 나는 주소 표시 줄에 URL을 입력하고 URL을 url[0] + '?task=product&url=' + selectedUrl를 탐색 한 후 후기록 후 pushState 뒤가 이동하지 않음

var url = window.location.href; 
    url = url.split('#'); 
    var url_ = url[0] + '?task=product&url=' + selectedUrl; 
    history.pushState(null, null, url_); 

처럼 할 . 하지만 문제는 내가 다시 돌아 왔을 때 주소가 변경되었지만 페이지가 아니라는 것입니다 (페이지가 변경된 URL에 대해로드되지 않음).

이제 어떻게이 URL로 돌아와 페이지를로드 할 수 있습니까?

+0

가능한 중복을 가고 싶은 곳으로 리디렉션합니다. pushState] (https://stackoverflow.com/questions/19335372/back-button-backspace-does-not-work-with-window-history-pushstate) –

+0

'pustState'는 url을 변경하고 일부 메타 정보 만 저장하지만 페이지의 내용 [popstate] (https://developer.mozilla.org/en-US/docs/Web/Events/popstate) 이벤트를 청취하고 이에 따라 페이지 내용을 업데이트해야합니다. –

+0

덕분에 도움이됩니다. –

답변

0

history.pushState는 브라우저 기록 만 조작합니다. 난 당신이 표현이야에 의해 조금 혼란 스러워요하지만 당신은 항상 할 수있는 단지

window.location = url; 

당신이 window.history 실행 작동하지 않습니다 [뒤로 버튼/백 스페이스의

+0

네,하지만 브라우저의 뒤로 버튼을 클릭하면 페이지가로드되지 않고 URL 만 바뀝니다. –

+0

아직 무엇을 하려는지 확실하지 않습니다. 내가 생각하는 것처럼 작동하지 않는다고 생각합니다.이 코드를 읽으십시오. https://developer.mozilla.org/en-US/docs/Web/API/History_API https : // developer도 도움이 될 것입니다. .mozilla.org/ko-ko/docs/웹/API/WindowEventHandlers/onpopstate –

관련 문제