2013-03-29 3 views
4

URL을 변경하는 것과 관련하여 많은 질문을 발견했습니다 (다시로드하지 않고). 일부 답변은 - 플러그인 사용, location.hash ... 또는 리로딩을 사용합니다.다시로드하지 않고도 주소 표시 줄의 URL을 변경하십시오.

그러나 어느 누구도 저에게 효과가 없었습니다.

웹 사이트에서 드롭 다운 메뉴가 있으며 url 매개 변수가 변경된 상태 여야합니다.

그래서 난 할 노력하고있어입니다 : www.foo.com?country=Germanywww.foo.com?country=Slovenia로 다시로드하지 않고 :

내가 변경하고 싶습니다.

내가 달성하고자하는 것은 가능한 것입니까?

+5

URL 주소 표시 줄에 시각적으로 보이는 내용을 변경하고 싶습니까? 무슨 목적을 위해? 나는 보안에 기반하여 브라우저가 그것을 허용 할 것이라고 상상할 수 없다. 아마도 우리는 당신이 목적을 제공 할 수있는 대안을 제공 할 수 있습니다. –

+0

나는 국가 목록 (드롭 다운)을 가지고 있으며 그 변화에 따라 URL을 변경하고 싶다. 무슨 목적으로? 흠 ... 사이트의 모든 내용이 다시로드 (변경)되지 않으므로 URL을 변경하고 싶습니다. – Sebastjan

+2

이 답변을 살펴 보셨습니까? http://stackoverflow.com/questions/3338642/updating-address-bar-with-new-url-without-hash-or-reloading-the-page –

답변

4

더 새로운 브라우저에서 할 수 있습니다. 이전 버전에서는 해시 만 변경할 수 있습니다. 주제에 대한 좋은 기사 인 것 같습니다. http://html5doctor.com/history-api/

2

찾고있는 것은 History API이며 HTML5가 제공합니다. history.pushState(...), history.popState(...)과 같은 기능이 제공되므로 새로운 URL을 모두 할당하지 않아도 동적으로 URL을 변경할 수 있습니다.

페이스 북 자체를 포함하여 많은 사이트에서 채팅 상자를 열고 페이지 간을 이동하면 채팅 상자가 다시로드되지 않습니다. 즉, Ajax를 통해 모든 새로운 컨텐츠를 가져 오지만 URL은 변경되지 않습니다. 하지만 그렇습니다. 저는 그들이 history.pushState(...)을 통해 그것을한다고 생각합니다. 여기서 히스토리 스택에 새로운 상태를 밀어 넣을 뿐이며 페이지의 특정 부분 만 변경합니다. 훌륭한 튜토리얼 here을 찾을 수 있습니다.

관련 문제