我正在处理另一位开发人员离开的事情,所以我并不完全确定所有这些功能是如何工作的。所以,我使用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的原因。
答案 0 :(得分:0)
所以,为了回到上一页,我需要点击我的按钮四次......
听起来这个问题不会再回来了,它是$area = Input::get('area_id') ?: [];
$query->whereIn('area_id',is_string($area) ? json_decode($area, true) : $area);
。您通过多次调用pushState
来创建多个历史记录条目,这就是您必须多次点击[Back]的原因。
听起来至少其中一些应该是pushState
,而不是replaceState
,因此他们会修改当前的历史记录条目,而不是创建一个新条目。