Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跳过history.state并转到previosu页面_Javascript_Jquery_Html5 History - Fatal编程技术网

Javascript 跳过history.state并转到previosu页面

Javascript 跳过history.state并转到previosu页面,javascript,jquery,html5-history,Javascript,Jquery,Html5 History,我正在做另一个开发人员留下的东西,所以我不完全确定所有这些函数是如何工作的。因此,我使用history.pushState来保存一些值,以便能够预取一些数据。例如,我正在我的州保存pageNumber和productCount,以便以后使用它 因此,在我使用它的视图中,控制台中的history.state-log可能如下所示: init: null pageNumber: 3 productCount: 150 因此,对于每个浏览器的“后退”按钮,单击它会删除该状态的一部分。因此,单击第一个后

我正在做另一个开发人员留下的东西,所以我不完全确定所有这些函数是如何工作的。因此,我使用history.pushState来保存一些值,以便能够预取一些数据。例如,我正在我的州保存pageNumber和productCount,以便以后使用它

因此,在我使用它的视图中,控制台中的history.state-log可能如下所示:

init: null
pageNumber: 3
productCount: 150
因此,对于每个浏览器的“后退”按钮,单击它会删除该状态的一部分。因此,单击第一个后退按钮将示例更改为

init: null
pageNumber: 3
下一步单击:

init: null
下一步单击:

null
因此,为了返回到上一页,我需要单击我的按钮四次,因为我手动删除了每一个状态,最后返回。我想知道是否有办法删除所有历史记录。在浏览器上单击“后退”按钮并立即转到上一页?否则,我想我可以重写所有这些代码来使用localStorage,但我也认为使用historyapi肯定是有原因的

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

听起来问题不会再出现了,而是
pushState
。您通过多次调用
pushState
来创建多个历史记录条目,因此您必须多次点击[返回]

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

对我来说,至少到目前为止,听起来像是滥用了历史记录API。localStorage听起来更合适,如果您所要做的只是存储一些值,而不是以任何方式实际连接到用户在整个站点上的浏览路径。。。