【问题标题】:github like navigation [duplicate]github喜欢导航[重复]
【发布时间】:2012-03-01 07:31:56
【问题描述】:

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


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

【问题讨论】:

  • github 在支持的浏览器中使用 HTML5 状态。尝试旧的 IE 版本;你会失去幻灯片效果。
  • 嗯,很抱歉投票结束;我意识到我链接的页面只回答了问题的第二部分,而不是“幻灯片”效果。
  • @Tamás:这个问题明确地说“不是图形部分”。
  • @TikhonJelvis:哦,好的。对不起。绝对需要睡一觉。 :-/
  • 你知道,你可以随时获得 Github 的完整 source code :)

标签: javascript ajax github


【解决方案1】:

您可以使用 javascript 库来处理这类事情。 History.js 是一个不错的选择。它在可能的情况下使用推送状态,在没有的情况下回退到哈希爆炸网址。我在几个项目中使用过它,发现它非常好,特别是如果你也使用 js 模板。比如 Dust.js

这里是 Historyjs github 页面的链接history js

就 ajax 而言。我在我的网址上使用了类型标识符。因此,当用户导航到 /home 时,不会重新加载页面,而是将 ajax 调用调度到 /homepage.json 从中获取一个 json 响应,然后渲染到 dom 或 js 模板中。

【讨论】:

    猜你喜欢
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-13
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多