History.js - 在没有浏览器重新加载的情况下追加查询字符串

时间:2014-02-14 17:40:38

标签: javascript jquery history.js

我想手动更新url查询字符串而不重新加载浏览器。显然,history.js https://github.com/browserstate/history.js/完成了这项工作。

我已经阅读了几个文档,但看起来这个框架比我需要的要多得多,所以我很困惑如何实现我的简单要求。

任何代码片段都是如何实现的?

谢谢

3 个答案:

答案 0 :(得分:0)

您可以使用HTML5历史记录API(http://diveintohtml5.info/history.html)。例如:

history.pushState(null, null, new_url);

您也可以更改页面标题:

history.pushState(null, new_title, new_url);

答案 1 :(得分:0)

试试这个:

使用history.pushState& history.replaceState方法

例如:http://html5demos.com/history

答案 2 :(得分:0)

历史记录js为HTML5历史记录API提供了HTML4兼容性,因此它似乎可能提供了许多功能。

如果你只关心HTML5浏览器(基本上是IE10及以上版本以及大多数其他大多数其他最近的浏览器),那么使用HTML5 History API就可以完成这项工作。

history.pushState(state, title, url);
history.replaceState(state, title, url);

注意: State可以取一个对象或null title可以取字符串或null url必须带一个字符串

历史记录js还可以提供基于状态操作URL的选项。 例如,您是否使用类似路径的路径 网址"www.site.com/page1/sub-page"
使用哈希"www.site.com/#/page1/sub-page"

但这完全取决于你希望实现的目标。