github就像导航一样

时间:2012-02-08 20:02:00

标签: javascript ajax github

  

可能重复:
  How does github change URL without reloading a page?


我不知道如何描述但这对github文件资源管理器的这种很酷的幻灯片效果如何工作? 不是图形部分,而是背后的javascript / ajax逻辑。似乎页面没有重新加载,下一个目录只是滑入。我认为使用javascript你只能更改哈希值,而不是网址的整个路径。
那么,如何在不重新加载整个页面的情况下将url从somedomain.com/foo更改为somedomain.com/foo/bar,只需通过ajax或websockets加载新内容即可。我绝对不知道如何做到这一点,或者在github上使用哪种技巧。

1 个答案:

答案 0 :(得分:3)

你可以使用javascript库来做这种事情。一个好的是History.js。它可以在可能的情况下使用推送状态,而在没有的时候会回到哈希爆炸网址。我在几个项目中使用它并发现它非常好,特别是如果你也使用js模板。比如Dust.js

以下是Historyjs github页面history js的链接。

就ajax而言。我在我的网址上使用了类型标识符。因此,当用户导航到/ home时,没有页面重新加载,而是将ajax调用分派给/homepage.json 从中检索json响应,然后将其渲染到dom或js模板中。