Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax Facebook如何处理主页和个人资料页面之间的请求_Ajax_Facebook - Fatal编程技术网

Ajax Facebook如何处理主页和个人资料页面之间的请求

Ajax Facebook如何处理主页和个人资料页面之间的请求,ajax,facebook,Ajax,Facebook,我只是想知道facebook如何管理对“我的个人资料页面”、“主页”和其他一些页面的请求,这些页面似乎只是重新加载了一些内容 例如,当我在facebook上的“我的个人资料页面”上时,我点击主页按钮,顶部的工具栏按钮和右侧的聊天面板保持不变(不会重新加载)。我在webkit控制台中监视过XMLHTTPRequest,没有生成ajax,所以它不是ajax(我想)。否则,如果在单击这些链接时生成完整的http请求,我认为必须重新加载整个页面,对吗?所以我不知道这是怎么处理的。你能帮我一下吗 谢谢:)

我只是想知道facebook如何管理对“我的个人资料页面”、“主页”和其他一些页面的请求,这些页面似乎只是重新加载了一些内容

例如,当我在facebook上的“我的个人资料页面”上时,我点击主页按钮,顶部的工具栏按钮和右侧的聊天面板保持不变(不会重新加载)。我在webkit控制台中监视过XMLHTTPRequest,没有生成ajax,所以它不是ajax(我想)。否则,如果在单击这些链接时生成完整的http请求,我认为必须重新加载整个页面,对吗?所以我不知道这是怎么处理的。你能帮我一下吗


谢谢:)

这是一种称为“quickling”的性能优化,他们还使用“pagecache”策略来减少来自服务器的数据。在较低的级别,它依赖于javascript作为链接控制器执行,它委托一个超链接点击事件,然后发送一个ajax(或使用iframe)从服务器请求pagelet数据,响应将是一个json格式的数据结构,然后javascript将插入当前页面的内容。地址栏中的Uri可以处理旧浏览器中的哈希更改事件和H5的历史API(pushState)来管理浏览器的历史记录。

好的,谢谢,它的html5??你能告诉我在那种情况下使用的是什么功能吗??谢谢…谢谢我读了它,它非常有趣,我不知道html5历史api。。。但是我还是有点困惑。我已经阅读了dogs history示例,它使用ajax刷新图片。Facebook在我的个人资料和主页之间切换时不使用ajax。我仍然不明白这些链接是如何工作的。请求之间不会刷新顶栏和聊天。还有一个奇怪的原因,在谷歌chrome控制台的网络选项卡中,请求没有刷新,当发出完整的http请求时,请求被刷新。它执行ajax请求。我刚刚检查了一下,我看到了那些请求(在URL中带有
?ajaxpipe=1&…