2012-01-11 4 views
7

Я пытаюсь понять, как Facebook реализует боковую панель чата. Кажется, он остается там, даже когда я меняю страницы. Например, если я выберу какой-то текст внутри боковой панели, а затем перейдите на другую страницу Facebook, текст останется выбранным. Это как если бы это был отдельный кадр, но когда я смотрю на код, это не так.Как Facebook реализовал ботовую панель чата?

ответ

3

Существует элемент DOM контейнера, называемый «fb_content», его содержимое заменяется прямолинейным AJAX или более технически XMLHttpRequest. (Хотя, например, когда вы вводите приложение, вся страница обновляется.) Чтобы обновить адресную строку, они используют JavaScript History API.

4

Все запросы выполняются через AJAX-вызовы. При необходимости заменяется только контейнер содержимого.

Вы фактически не идете на другую страницу. Просто обновляется «контент».

0

В дополнение к тому, что сказал Zeno и lericson (fb_content обновляется через ajax), адресная строка также обновляется при сохранении истории (если вы нажмете назад/вперед).