programing

페이지를 이동하지 않고 브라우저에서 URL을 변경하는 방법은 무엇입니까?

i4 2023. 8. 9. 20:29
반응형

페이지를 이동하지 않고 브라우저에서 URL을 변경하는 방법은 무엇입니까?

나는 지금 복잡한 AJAX 어플을 작성하고 있고 사이트 전체가 깨끗한 URL을 가지고 있습니다.현재 PHP는 각 페이지에 대한 기본 레이아웃을 생성하지만 사용자가 링크를 클릭할 때 각 페이지에서 벗어나 탐색할 필요가 없으며, 나머지 사이트와 맞지 않기 때문에 URL에 해시가 있는 것을 원하지 않습니다.이전에 사이트에서 로드가 많이 발생한 것으로 알고 있으며 일반적으로 요청되는 것으로 보이지만 기술적으로 같은 페이지에 남아 있더라도 주소 표시줄의 URL을 변경하는 깔끔한 HTML5 방식이 있는지 궁금합니다.

로 할 수 있습니다.history.pushState그러나 이 기능을 지원하는 브라우저에서만 가능합니다.브라우저의 JavaScript-Console에서 다음 행을 시도해 보십시오.

history.pushState({},"URL Rewrite Example","https://stackoverflow.com/example")

PushState() 메소드(모질라 개발자)에서의 자세한 내용

유사한 질문 자바스크립트를 사용하여 새 페이지를 로드하지 않고 브라우저에서 URL을 변경하려면 어떻게 해야 합니까?

다른 사람들이 말했듯이, HTML5의 history.pushstate가 최선의 방법입니다.평판 허브를 탐색하여 실행 중인 것을 확인해 보십시오(https://github.com/visionmedia/express) .

문제는 역사를 지원하는 IE의 유일한 버전입니다. 푸시 상태는 IE10인데, 좀 형편없네요.

많은 사이트에서 트위터와 같은 hashbang #! URL을 사용합니다(예: https://twitter.com/ #!/Sironfoot).해시방은 검색 엔진에서 동의한 URL 패턴으로, Ajax 기반 웹 사이트를 여전히 탐색하고 인덱싱할 수 있습니다(자세한 내용은 여기 http://code.google.com/web/ajaxcrawling/docs/specification.html), 에서 확인하십시오).

유일한 다른 접근 방식은 history.pushstate를 지원하는 브라우저에 사용하고, 지원하지 않는 브라우저에 대해서는 전체 페이지 새로 고침으로 되돌리는 것입니다.

언급URL : https://stackoverflow.com/questions/8560617/how-to-change-url-in-browser-without-navigating-away-from-page

반응형