我似乎无法弄清楚如何操纵浏览器历史记录
I can't seem to figure out how to manipulate the browser history
所以我想做的是根据用户的导航更改数据。我有 6 个主要类别页面。在这 6 个主要类别页面中,我有 12 个子类别可供用户 select 使用。
我想要达到的目标:
假设用户 select 属于第一类。
- 用户 select 属于类别 1 的子类别 1。
- 显示子类别页面并删除与类别 1 无关的数据。
- 用户select从子类别 1 中选择了子类别 2,并删除了与类别 1 无关的数据。
- 用户select从子类别 2 中选择了子类别 3,并删除了与类别 1 无关的数据。
所以我可以将类别 1 转换为子类别 1,但是对于让我们说子类别 1 到 2 以及从 2 到 3 ......n 次......我将如何做?每个子类别都必须知道哪个 main 类别是最后 selected.
我看过但似乎找不到解决方案。
window.location.hash
history.pushState("","","");
document.referrer
通常这是一个糟糕的设计,我理解这一点,但我只能在服务器端做些什么。所以试图开发一个变通办法....
在尝试使用这些但未获得所需的行为后,我通过几个小时的研究找到了最佳解决方案。我能找到的在客户端页面之间传递数据的唯一选择。
window.location.hash
history.pushState("","","");
document.referrer
假设用户导航到类别 1
你会设置一个会话存储对象
sessionStorage.setItem('last-category', "category1");
用户导航子类别 1。您可以使用它来获取对象的会话存储,并将显示该对象的最后一次设置操作。
sessionStorage.getItem("last-category"); -> output category1
用户浏览子类别 2
sessionStorage.getItem("last-category"); -> output category1
用户导航到类别 2
您将再次设置会话存储对象以显示类别 2
sessionStorage.setItem('last-category', "category2");
用户导航到子类别 1
sessionStorage.getItem("last-category"); -> output category2
所以我想做的是根据用户的导航更改数据。我有 6 个主要类别页面。在这 6 个主要类别页面中,我有 12 个子类别可供用户 select 使用。
我想要达到的目标:
假设用户 select 属于第一类。
- 用户 select 属于类别 1 的子类别 1。
- 显示子类别页面并删除与类别 1 无关的数据。
- 用户select从子类别 1 中选择了子类别 2,并删除了与类别 1 无关的数据。
- 用户select从子类别 2 中选择了子类别 3,并删除了与类别 1 无关的数据。
所以我可以将类别 1 转换为子类别 1,但是对于让我们说子类别 1 到 2 以及从 2 到 3 ......n 次......我将如何做?每个子类别都必须知道哪个 main 类别是最后 selected.
我看过但似乎找不到解决方案。
window.location.hash
history.pushState("","","");
document.referrer
通常这是一个糟糕的设计,我理解这一点,但我只能在服务器端做些什么。所以试图开发一个变通办法....
在尝试使用这些但未获得所需的行为后,我通过几个小时的研究找到了最佳解决方案。我能找到的在客户端页面之间传递数据的唯一选择。
window.location.hash
history.pushState("","","");
document.referrer
假设用户导航到类别 1
你会设置一个会话存储对象
sessionStorage.setItem('last-category', "category1");
用户导航子类别 1。您可以使用它来获取对象的会话存储,并将显示该对象的最后一次设置操作。
sessionStorage.getItem("last-category"); -> output category1
用户浏览子类别 2
sessionStorage.getItem("last-category"); -> output category1
用户导航到类别 2 您将再次设置会话存储对象以显示类别 2
sessionStorage.setItem('last-category', "category2");
用户导航到子类别 1
sessionStorage.getItem("last-category"); -> output category2