我有一个带过滤器的电子商店。当有人使用过滤器时,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?
提前谢谢
答案 0 :(得分:1)
您可以将原始“window.location.href”保存到某处(例如localstorage或window对象)。并在每次需要时获取URL。