반응형
해시없이 새 URL로 주소 표시 줄 업데이트 또는 페이지 다시로드
나는 페이지를 다시로드하지 않고 자바 스크립트 (도메인이 아닌 경로)를 통해 주소 표시 줄을 업데이트하는 방법을 구현하는 크롬 (개발 채널)을 꿈꿨거나 실제로이 작업을 수행했습니다.
그러나, 나는 기사 찾을 수 없습니다 생각 나는 읽기.
내가 미쳤나요 아니면이 작업을 수행 할 방법이 있나요 (Chrome에서)?
추신 나는 window.location.hash에 대해 말하는 것이 아닙니다. 위의 내용이 존재한다면 이 질문에 대한 답 은 사실이 아닙니다.
이제 대부분의 "최신"브라우저에서이 작업을 수행 할 수 있습니다!
내가 읽은 원본 기사 (2010 년 7 월 10 일 게시) : HTML5 : 페이지를 새로 고침하지 않고 브라우저 URL 변경 .
pushState / replaceState / popstate (HTML5 History API라고도 함)에 대한 자세한 내용은 MDN 문서를 참조하십시오 .
요약하자면 다음과 같이 할 수 있습니다.
window.history.pushState("object or string", "Title", "/new-url");
기본 방법 은 페이지 를 다시로드하지 않고 URL 수정에 대한 내 대답을 참조하십시오 .
해시 이후 만 변경-이전 브라우저
document.location.hash = 'lookAtMeNow';
전체 URL 변경. Chrome, Firefox, IE10 이상
history.pushState('data to be passed', 'Title of the page', '/test');
위의 내용은 기록에 새 항목을 추가하므로 뒤로 버튼을 눌러 이전 상태로 이동할 수 있습니다. 기록에 새 항목을 추가하지 않고 URL을 변경하려면
history.replaceState('data to be passed', 'Title of the page', '/test');
지금 콘솔에서 실행 해보세요!
pushstate를 지원하지 않는 브라우저도 감지하도록 Davids 답변 업데이트 :
if (history.pushState) {
window.history.pushState("object or string", "Title", "/new-url");
} else {
document.location.href = "/new-url";
}
반응형
'Nice programing' 카테고리의 다른 글
Cache-Control : max-age = 0과 no-cache의 차이점은 무엇입니까? (0) | 2020.10.02 |
---|---|
Flexbox 항목 사이의 거리를 설정하는 더 나은 방법 (0) | 2020.10.02 |
기존 소스 코드를 GitHub로 가져 오기 (0) | 2020.10.02 |
줄 번호를 적게 (GNU)로 표시하는 방법은 무엇입니까? (0) | 2020.10.02 |
계속하기 전에 쉘 스크립트를 잠시 일시 중지하려면 어떻게합니까? (0) | 2020.10.02 |