首先,我知道有些库为location.pushState
/ popState
(History.js、Hash.js、jQuery hashchange)提供了 polyfill,所以请不要只链接到这些库。
我需要一个更强大的库来在 RIA 中实现以下目标:
- 用户点击链接
- 库被通知并通过 Ajax 加载上下文(没有完全重新加载!)
- 所有
<a>
元素都与单击处理程序一起使用,该处理程序- 防止页面重新加载 2. (
preventDefault
) 和 - 为旧版浏览器调用
location.pushState
/设置location.hash
- 防止页面重新加载 2. (
- 加载的内容被插入页面并替换当前内容
- 继续 1。
此外,应在用户导航返回时恢复先前加载的内容。
例如,在 Internet Explorer <10 和任何其他浏览器中单击Google+ 。
有什么更接近的吗?我需要对 IE8、FF10、Safari 5 和 Chrome 18 的支持。此外,它应该具有像 MIT 或 Apache 这样的许可许可证。