[javascript] 자바 스크립트는 해시 값으로 페이지를 다시로드합니다.

일부 프로세스 후 외부 자바 스크립트 파일 에서이 문으로 페이지를 새로 고치려고합니다.

window.location.href = window.location.href

페이지를 완벽하게 새로 고침하지만 새로 고침 후 특정 위치로 스크롤하고 싶습니다. 그래서 저는 이것을 페이지에 올렸습니다.

<a name="uploadImgSection"></a>

그리고 자바 스크립트를

window.location.href = window.location.href + "#mypara";

이 코드는 페이지를 새로 고침하거나 새로 고침하지 않습니다.

window.location.hash = "#uploadImgSection";
window.location.href = window.location.href;

그렇게하면 페이지가 전혀 다시로드되지 않습니다. 스크롤 막대 위치로 페이지를 다시로드 할 수있는 방법이 있습니까?



답변

window.location.href += "#mypara";
location.reload();

먼저 해시를 추가 한 다음 페이지를 다시로드하십시오. 해시는 그대로 유지되고 페이지가 다시로드됩니다.

테스트, 작동합니다.


PS : 해시 이미 URL에 존재하는 경우, 직접을 통해 변경 할 수 있습니다 location.hash대신 .href.


답변

을 사용 window.location.href += "#mypara"하면 매개 변수가 존재하더라도 URL에 매개 변수가 계속 추가 된다는 것을 알았 기 때문에이 질문을 업데이트하고 싶었습니다 . 더 나은 방법은 사용하는 것입니다.

window.location.hash = "#mypara"
location.reload();


답변

이것은 정말 오래된 게시물이며 올바른 답변 조합으로 여전히 시도하고 답변합니다.

  1. location.reload()그리고 location.reload(true)브라우저에서 F5처럼 작동합니다. 이전에로드 한 경우 모든 양식 데이터를 서버에 다시 게시합니다.
  2. location.href브라우저가 URL 변경을 인식 할 때까지 페이지를 새로 고치지 않습니다. 해시 변경 (#paramname)은 URL 변경에 적합하지 않으므로 수행하는 것만
    location.href+="#paramname"작동하지 않습니다.

따라서 URL이 변경 location.href+="?anything#paramname"되면 페이지를 새 요청으로 다시로드해야합니다 ?anything.


답변

var loc = location.hash;
location.hash = " ";
location.hash = loc;


답변

이 시도

           var urlString=window.location.href;
           var url=urlString.split("#")[0];
           window.location.href = url + "#mypara";


답변

이것은 나를 위해 일했습니다.

var tabValue = document.URL;
window.location = tabValue.substring(0, tabValue.lastIndexOf("#"));
window.location.hash = "#tabs-3"; //Whatever is your hash value
location.reload();


답변

이것은 나를위한 일

window.location.href = baseUrl + "#/m/team";
 location.reload();