【发布时间】:2013-01-27 15:32:20
【问题描述】:
前几天我在 Twitter 上,我打开 chrome devtools 并进入网络控制台,然后单击 Twitter 上的一个链接(特别是菜单栏上显示“我”的链接),然后,一如既往,页面并没有真正再次加载,它似乎是 AJAX 化的,但后来我查看了网络内容,我看到的只是一些图像和一些 javascript 文件。
除非 Twitter 在加载主页时从“我”页面加载内容(我非常怀疑,因为 Twitter 的加载速度也很快),是什么让 Twitter 页面之间的导航如此之快?
【问题讨论】:
-
没看到。单击 Me 链接会触发
GET请求,请求https://twitter.com/myUsername返回 JSON 有效负载 -
再次检查控制台,特别是选中 Network 选项卡的 XHR 子选项卡。当我将页面从“主页”页面更改为“我”页面时,我看到一个 AJAX 请求,该请求提供了我最近的所有推文和一些其他数据:i.imgur.com/hRrbqm4.jpg
-
具体来说,除了好的旧 Ajax 之外,Twitter 还使用 push state,这允许它以几个月前不可能的方式通过 JavaScript 更改 url。
标签: javascript ajax twitter navigation