使用first url多次使用history.pushState

时间:2017-03-10 12:55:51

标签: javascript

我有一个带过滤器的电子商店。当有人使用过滤器时,url会随AJAX一起更改。

我所做的是使用.ajaxComplete函数来检查ajax完成。在这个函数里面我有一个名为replacer的变量,我在这里做了多次替换:

var replacer = window.location.href.replace("&page=","/").replace("&sort=","/").replace("&order=","/").replace("...","..."); 

等我使用

history.pushState("","",replacer); 

改变我的网址,它的工作就像一个魅力。但是当用户从过滤器中选择一个选项时它会工作。当有人试图选择另一个过滤器时,会完成另一个ajax请求并完成同样的操作,但现在,replacer变量会替换新替换的URL。

任何想法都会以某种方式生成原始生成的url并将其替换为history.pushState?

提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以将原始“window.location.href”保存到某处(例如localstorage或window对象)。并在每次需要时获取URL。