2012-01-11 8 views
7

Facebook이 채팅 사이드 바를 어떻게 구현하는지 이해하려고합니다. 페이지를 바꿔도 거기에 머물러있는 것 같습니다. 예를 들어 사이드 바 내부에서 일부 텍스트를 선택한 다음 클릭하여 다른 Facebook 페이지로 이동하면 텍스트가 선택된 상태로 유지됩니다. 마치 별도의 프레임 인 것처럼 보이지만 코드를 보면 그렇지 않습니다.Facebook은 채팅 사이드 바를 어떻게 구현 했습니까?

답변

3

"fb_content"라고하는 컨테이너 DOM 요소가 있습니다. 콘텐츠는 곧은 AJAX 또는 기술적으로는 XMLHttpRequest으로 바뀝니다. (예를 들어 앱을 입력하는 경우 전체 페이지가 새로 고쳐집니다.) 주소창을 업데이트하려면 JavaScript History API을 사용하십시오.

4

모든 요청은 AJAX 호출로 이루어집니다. 필요한 경우 "콘텐트"컨테이너 만 교체됩니다.

실제로 다른 페이지로 이동하지 마십시오. "콘텐츠"div 만 업데이트됩니다.

0

Zeno와 lericson이 말한 것 이외에 (fb_content가 ajax를 통해 업데이트 됨) 외에도, 주소 표시 줄은 히스토리를 유지하면서 업데이트됩니다 (뒤로/앞으로 누를 경우).

관련 문제