twitter如何更改url而不重新加载页面?

时间:2016-12-02 18:13:45

标签: javascript twitter routing url-routing single-page-application

最近我注意到,如果我们位于我们的个人资料视图/网址(http://twitter.com/profileName)并点击其中一条推文以查看其有关弹出窗口的详细信息,则网址会更改(http://twitter.com/profileName/status/statusId)重新加载页面(在使用的网址中没有#)。

经过进一步调查,我注意到window.history的变化来自:

{ title: "profileName (@profileName) | Twitter" }

为:

{ inOverlay: true, rollbackCount: 1 }

我目前正在开发自己的单页应用程序堆栈,并坚持编写自己的路由器 - 期待针对当前趋势#用法的替代方案,并认为理解这个Twitter黑客可以帮助我一点。

1 个答案:

答案 0 :(得分:1)

他们使用HISTORY API

window.history.pushState("", "", '/newpage');

参考:https://blog.twitter.com/2012/implementing-pushstate-for-twittercom