ajax - 当您浏览页面时,Facebook 的聊天窗口如何保持打开状态并保持在同一个位置

标签 ajax facebook html facebook-chat

Facebook 的聊天窗口如何在您浏览页面时保持打开状态并位于同一位置

请在回答之前:

1-我非常了解 Ajax,目前 Facebook 中的实现不像过去那样是普通的 Ajax

2-页面的 URL 完全改变,而不是 Hash 部分,整个页面重新加载但不是聊天窗口或面板。

我发现 URL 通过这个 JS 部分发生了变化:

history.pushState({},"New Title Goes Here","http://facebook.com/Something");

但是数据本身怎么没有呢? Firebug 或 Chrome 中的 Network->XHR 在 XHR 中不显示任何内容。所以我猜这不是 Ajax。

最佳答案

对我来说看起来像很多 ajax。

enter image description here

他们在重新加载聊天窗口时是有选择性的。即:如果您转到帐户设置和其他访问量较小的页面。

对于聊天窗口本身的加载,我相当确定他们使用长轮询( cometd )。

关于ajax - 当您浏览页面时,Facebook 的聊天窗口如何保持打开状态并保持在同一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10942248/

相关文章:

Django 应用程序中的 Ajax 架构

iphone - 以编程方式创建 Facebook "Like"?

ios - React Native 显示黑屏

javascript - 无法在 Google map 中显示 KML 属性数据

javascript - 扩展 HTMLElement

javascript - 用AJAX改变页面内容,然后执行JS

javascript - 将变量从 AJAX 传递到 PHP

ajax - 在 @ApplicationScope 的 ManagedBean 中使用 ajax 进行轮询

facebook - Like Box - 显示 "check in' s”而不是最近的帖子?

html - 表格布局为 : fixed; and how to make one column wider 的表格