2012-06-22 4 views
0

페이스 북에서 링크를 클릭하면 상단 머리글 막대가 전혀 깜박이지 않습니다. 저는 Ajax를 통해 내용이로드 된 페이지에서이 효과를 보는 데 익숙합니다. 그러나 Chrome에서는 URL이 변경되며, 지금까지 내가 아는 바로는 새 페이지가로드되었음을 의미합니다.페이스 북의 콘텐츠가 동적으로로드됩니까?

자바 스크립트에서 URL은 리디렉션 없이는 변경할 수 없다는 것을 알고 있지만 해시 태그를 사용할 수 있으므로 매우 흥미로울 것입니다. 이것이 크롬이 뭔가일지도 모른다고 생각했는데, 웹 페이지를로드 한 후 끊어짐없는 경험을하기 위해 이전 웹 페이지를로드하기 때문에 Internet Explorer에서 시도했습니다. IE에서 동일한 효과가 있지만 이번에는 URL이 변경되지 않고 해시 태그 만 변경됩니다. 나는 FireFox에서도 시도했고, 크롬이하는 것과 같은 방식으로 URL을 바꾼다.

여기 무슨 일 이니?

+0

http://diveintohtml5.info/history.html – zerkms

답변

4

예, AJAX가로드되었습니다. 그리고 URL은 by manipulating the history으로 변경됩니다. HistoryJS이라는 멋진 라이브러리는 해시 변경을 사용하여 지원되지 않는 브라우저에 대해이 기능을 래핑합니다.

1

페이스 북의 경우 확실하지는 않지만 History API을 사용하면 same origin policy을 준수하는 한 프로그래밍 방식으로 URL을 변경할 수 있습니다. GitHub은이 기술을 눈에 거슬리지 않게 사용하는 좋은 예입니다.

1

최신 브라우저에서는 history.pushState() 기능을 통해 페이지를 다시로드하지 않고도 URL을 업데이트 할 수 있습니다.

예 :

history.pushState({}, "", "foo.html"); 
+0

내가 그 라인을 따라 뭔가 생각 했어요,하지만 난에 와서 http://stackoverflow.com/questions/6478485/jquery -change-the-url-address-without-redirecting은 상대적으로 최근이었고 그래서 나는 그것이 여전히 옳았다 고 가정했다. 감사! – mowwwalker