JavaScript를 사용하여 URL에서 해시 기호 제거
페이지를 새로 고치지 않고 URL에서 해시 기호(#)를 제거하려면 약간의 기교가 필요합니다. 단순히 window.location.hash를 빈 값으로 설정하는 것보다 string.
최신 브라우저를 위한 우아한 솔루션
최신 HTML5 History API는 다음과 같은 우아한 솔루션을 제공합니다.
function removeHash() { history.pushState("", document.title, window.location.pathname + window.location.search); }
예 데모:
https://jsfiddle.net/AndyE/ycmPt/
더 넓은 브라우저 지원
History API 지원이 부족한 브라우저의 경우 , 이것이 우아하게 굴욕적이라고 생각하십시오 script:
function removeHash() { var scrollV = document.body.scrollTop; var scrollH = document.body.scrollLeft; var loc = window.location; if ("pushState" in history) { history.pushState("", document.title, loc.pathname + loc.search); } else { loc.hash = ""; document.body.scrollTop = scrollV; document.body.scrollLeft = scrollH; } }
주의 사항
이 솔루션은 해시 기호를 제거할 수 있지만 모든 브라우저, 특히 이전 버전에서는 작동하지 않을 수 있다는 점에 유의할 가치가 있습니다.
추가 참고:
브라우저 기록에서 현재 페이지를 바꾸려면 pushState() 대신 replacementState()를 사용하세요.
위 내용은 페이지를 다시 로드하지 않고 JavaScript를 사용하여 URL에서 해시 기호를 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!