Javascript 使用html5历史记录代替哈希URL来恢复用户的历史记录
我们有一个基于查询字符串加载结果的单页应用程序 查询字符串如下所示: 城市=德里,pn=1 SPA在同一网页上有不同的部分。当用户导航到这些部分时,我们使用散列更改来维护历史记录。例如: 城市=德里&pn=1#排序:显示SPA的排序参数部分。 ?城市=德里&pn=1#过滤器:显示SPA的过滤器部分 我们现在正计划放弃在url中使用哈希更改来维护历史,而是开始使用html5历史api 如何使用历史插件替换这些散列并执行相同的功能 我试着用+符号,例如(?city=德里&pn=1+sort)。但看起来用户无法将此设置为书签,因为api不处理+符号,所以页面将中断在ajax api请求中,符号作为空格Javascript 使用html5历史记录代替哈希URL来恢复用户的历史记录,javascript,jquery,html,history.js,html5-history,Javascript,Jquery,Html,History.js,Html5 History,我们有一个基于查询字符串加载结果的单页应用程序 查询字符串如下所示: 城市=德里,pn=1 SPA在同一网页上有不同的部分。当用户导航到这些部分时,我们使用散列更改来维护历史记录。例如: 城市=德里&pn=1#排序:显示SPA的排序参数部分。 ?城市=德里&pn=1#过滤器:显示SPA的过滤器部分 我们现在正计划放弃在url中使用哈希更改来维护历史,而是开始使用html5历史api 如何使用历史插件替换这些散列并执行相同的功能 我试着用+符号,例如(?city=德里&pn=1+sort)。但看起
还有什么其他方法可以优雅地处理它呢?对查询字符串上的数据进行编码的标准方法是添加另一个key=value对
?city=Delhi&pn=1&sort=true
注意,如果您使用的是historyapi,那么服务器端代码应该能够生成JavaScript将生成的相同视图 e、 g
/
并获得服务器提供的主页/?city=德里&pn=1&sort=true
,Ajax将页面转换为另一个页面/?city=德里&pn=1&sort=true
- 站点在初始加载时执行得更快。您不必加载主页,然后等待JS发出附加请求,将其转换为您最初要求的页面
- 它是搜索引擎的好食物
- 它继续发挥作用