2017-12-20 12 views
0

에 나는 두 페이지가 포함되어 부트 스트랩으로 사이트를 만든 :지우기 해시 URL

index.html을
impressum.html 내가 페이지를 사용할

가 index.html을 내부 점프를하고 그 페이지에서 점프에 액세스 인상도. 이 잘 작동하지만 impressum.html에서 페이지 점프를 클릭하자마자 URL에 그대로 있으며 사라지지 않을 것입니다.

function clearHash(){ 
    var uri = window.location.toString(); 
    if (uri.indexOf("#") > 0) { 
     var clean_uri = uri.substring(0, uri.indexOf("#")); 
     window.history.replaceState({}, document.title, clean_uri); 
    } 
} 

을 그리고 스크롤 이벤트에 기능 트리거 :

+0

URL에있는 해시 태그는 점프 할 요소에 * 직접 * 상관됩니다. 당신은 당신의 브라우저가 당신을 뛰어 넘을 곳을 해석 할 수있는 URL에 그것들이 필요합니다. 왜 그들을 마스크하고 싶습니까? –

답변

2

이 같은 자바 스크립트의 약간을 사용할 수

$(window).scroll(function(){ 
    clearHash(); 
}); 

(나는 당신이 있기 때문에 JQuery와 사용하고 있으리라 믿고있어를 부트 스트랩의)

+0

고마워. 이것은 scroll 이벤트가 트리거되는 한 완벽하게 작동합니다. 내가 impressum.html에서 점프 링크를 클릭하면 스크롤 이벤트는 실행되지 않습니다. 이제 index.html의에 'clearHash();'를 추가 했으므로 페이지가로드 되어도 해시 태그가 제거됩니다 ("impressum"을 방문한 다음 "Services"를 클릭하면 다시 시도 할 수 있습니다). js 함수가 트리거 될 때까지 #Jump_Services가 초 단위로 나타남을 볼 수 있습니다. 이것은 좋은 해결 방법입니까? 솔직히 더럽다. – user363808