【发布时间】:2017-08-24 10:04:40
【问题描述】:
我正在开发其他开发人员留下的东西,所以我不完全确定所有这些功能是如何工作的。所以,我使用 history.pushState 来保存一些值,以便能够预取我的一些数据。例如,我将 pageNumber 和 productCount 保存在我的状态中,以便以后使用。
因此,在我使用它的视图上,控制台中的 history.state-log 可能如下所示:
init: null
pageNumber: 3
productCount: 150
因此,对于每个浏览器后退按钮单击它都会删除此状态的一部分。因此,第一次单击后退按钮会将示例更改为
init: null
pageNumber: 3
下一步点击:
init: null
下一步点击:
null
所以,为了回到上一页,我需要点击我的按钮四次,因为我手动删除了每个状态,最后我才返回。我想知道是否有一种方法可以删除浏览器后退按钮上的所有 history.state 并立即转到上一页?否则我想我可以重写所有这些代码以使用 localStorage,但我也认为使用 History API 一定是有原因的。
【问题讨论】:
-
对我来说,这听起来像是对历史 API 的滥用,至少目前如此。 localStorage 听起来更合适,如果您所要做的只是存储一些值,但不以任何方式实际连接到用户在网站上的浏览路径...
标签: javascript jquery html5-history