2017-04-25 1 views
0

페이지의 다른 섹션에 대한 앵커 링크로 구성된 탐색 기능이있는 단일 페이지 웹 사이트입니다. 네비게이션을 클릭하면 URL이 예. (.com/# photos)로 업데이트되고 클릭 한 각 앵커 링크에 대해 브라우저가 새 페이지로 추가됩니다. 이렇게하면 이전 웹 사이트로 되돌아 가려면 다시 클릭해야합니다. 최대 2 번 뒤로 버튼 누르기, 1 페이지로 이동, 2 이전 웹 사이트로 이동하고 싶습니다. 나는이 코드를 어디서 구현해야하는지 또는 브라우저가 사용자에게 어떻게 작용 하는지를 혼란스럽게하는 것이 이상적이라면 정말 실망 스럽다. 내 google-fu는이 문제에 대한 정보가 거의 없습니다.시차 페이지 앵커가 URL을 업데이트하는 링크로 연결되어 브라우저 탐색에 문제가 발생합니다.

답변

0

window.onpopstate 이벤트에 함수를 연결 한 다음 window.history.length가 변경되었는지 확인할 수 있습니다. 변경되지 않았다면 아마도 뒤로 버튼을 누르십시오. 정말 작동하지 않았다 이와 같이

..

var prevHistoryLength = -1; 
window.onpopstate = function(e){ 
    if (prevHistoryLength == window.history.length) 
     document.location = document.referrer; 
    prevHistoryLength = window.history.length; 
} 
+0

. 어쩌면 더 나은 해결책은 URL이 www.whatever.com/index와 같이 재 작성되는 것을 방지하고 앵커 링크가 사용될 때 그렇게 두는 것입니다. –

관련 문제