跳过history.state并转到previosu页面

时间:2017-08-24 10:04:41

标签: javascript jquery html5-history

我正在处理另一位开发人员离开的事情,所以我并不完全确定所有这些功能是如何工作的。所以,我使用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的原因。

1 个答案:

答案 0 :(得分:0)

  

所以,为了回到上一页,我需要点击我的按钮四次......

听起来这个问题不会再回来了,它是$area = Input::get('area_id') ?: []; $query->whereIn('area_id',is_string($area) ? json_decode($area, true) : $area); 。您通过多次调用pushState来创建多个历史记录条目,这就是您必须多次点击[Back]的原因。

听起来至少其中一些应该是pushState,而不是replaceState,因此他们会修改当前的历史记录条目,而不是创建一个新条目。