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。
他们在重新加载聊天窗口时是有选择性的。即:如果您转到帐户设置和其他访问量较小的页面。
对于聊天窗口本身的加载,我相当确定他们使用长轮询( cometd )。
关于ajax - 当您浏览页面时,Facebook 的聊天窗口如何保持打开状态并保持在同一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10942248/