类似github的导航



可能重复:
github如何在不重新加载页面的情况下更改URL?


我不知道如何描述,但这个很酷的幻灯片在github文件资源管理器上是如何工作的
不是图形部分,而是背后的javascript/ajax逻辑。页面似乎没有重新加载,下一个目录就滑了进来。我认为使用javascript只能更改哈希,而不能更改url的整个路径
那么,如何在不重新加载整个页面的情况下将url从somedomain.com/foo更改为somedomain.com/foo/bar,只需通过ajax或websockets加载新内容。我完全不知道该怎么做,也不知道这在github上用什么技巧。

您可以使用javascript库来完成这类工作。一个很好的例子是History.js。它在可能的时候使用推送状态,在不可能的时候返回到hashbang-urls。我在几个项目中使用过它,发现它非常好,尤其是如果你也使用js模板的话。例如Dust.js

这里有一个指向Historyjs github页面history js的链接。

就ajax而言。我在我的url上使用了一个类型标识符。因此,当用户导航到/home时,不会重新加载页面,而是将ajax调用发送到/homepage.json从中检索json响应,然后将其呈现到dom或js模板中。

最新更新