Как Facebook реализовал боковую панель чата? - PullRequest
7 голосов
/ 11 января 2012

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

Ответы [ 3 ]

4 голосов
/ 11 января 2012

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

На самом деле вы не «переходите» на другую страницу.Обновляется только div "content".

3 голосов
/ 11 января 2012

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

0 голосов
/ 10 марта 2014

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...