2016-07-13 3 views
0

단일 페이지 응용 프로그램에서 탐색을 위해 라우터를 구현하고 있습니다 (Angular의 ui-router과 같은 것). 라우팅은 브라우저 위치의 해시를 변경하여 수행됩니다.브라우저에서 해시 탐색을 방지합니다.

신고되지 않은 경로로 이동할 수 없어야합니다. 따라서 #/foo 라우트 만 선언하고 현재 #/foo에 있고 해시를 #/bar으로 변경하려는 경우 브라우저에서 해시를 #/foo으로 되돌려 야합니다.

그러나 그 후 #/bar은 브라우저 기록에 남아 있습니다. 문제는 해시 탐색에서 기록 변경을 완전히 방지하는 방법입니다.

나는

$(window).on('hashchange', function(event) { 
    event.preventDefault(); 
    return false; 
}) 

을 시도했지만 작동하지 않았다.

답변

관련 문제