【发布时间】:2016-03-15 19:02:58
【问题描述】:
我们有一个基于查询字符串加载结果的单页应用程序。
查询字符串如下所示: ?city=德里&pn=1
SPA 在同一个网页上有不同的部分。当用户导航到这些部分时,我们使用哈希更改来维护历史记录。例如: ?city=Delhi&pn=1#sort :显示 SPA 的排序参数部分。 ?city=Delhi&pn=1#filters : 显示 SPA 的过滤器部分。
我们现在计划放弃使用 url 中的哈希更改来维护历史记录,而是开始使用 html5 历史记录 API。
如何替换这些哈希并使用历史插件执行相同的功能?
我尝试使用 + 号,例如 (?city=Delhi&pn=1+sort)。但看起来用户无法为此添加书签,并且页面会中断,因为 api 不处理 + 符号。 + 号在 ajax api 请求中被当作空格。
还有哪些优雅的处理方式?
【问题讨论】:
标签: javascript jquery html history.js html5-history