可以history.js到URL深度链接没有散列或?字符?

问题描述:

这可能是重复的。我已经搜索过,但不确定要使用哪些术语。如果你能找到重复的,谢谢,我会删除这个问题。可以history.js到URL深度链接没有散列或?字符?

我听说history.js是“最好的”深层链接ajax库,因为它对旧版浏览器具有最好的兼容性。然而,我看到这个lib的每个演示都使用一个?像/my/url?key=value或类似的东西。

当浏览项目的源代码树时,我非常喜欢github上的滑块。例如,单击一个文件夹可以在更改浏览器中的完整URL的同时异步加载文件夹的内容,而不会产生散列或查询字符串垃圾。

有没有人知道是否有一个图书馆,完成了这一点?我并不反对在非HTML5兼容浏览器中无法运行的库。我应该只使用纯HTML5推送状态API吗?

+2

那里是一个潜在的相关问题,特别是关于GitHub的实施这里:http://stackoverflow.com/questions/6560570/how-does-github-do-pushstate-without-hash-tags – 2012-03-19 11:47:05

+0

@MattSach是的,那正是我所期待的。谢谢。 – danludwig 2012-03-19 11:52:11

对于这个https://github.com/defunkt/jquery-pjax PJAX(推状态ajax)可能是您最好的选择。

In使用push-state API来允许它使用真实的URL,如果浏览器不支持推送状态API,那么它简单地回退到让链接正常工作(而不是通过通过加载页面部分AJAX)。

如果没有一个jQuery用户还是喜欢PJAX的想法,这里还有另一种独立的实现(插入耍赖,因为我写的),你可以在https://github.com/thybag/PJAX-Standalone