Javascript 回到';开始';使用历史api
假设我的历史记录中有一个任意点(有人在我的页面上登陆的点),我想在某些状态执行某些操作时推动它们,然后当它们完成时,我想返回到它们在页面上登陆时的历史点。所以,如果他们按下前进键,他们会再次开始动作,如果他们按下后退键,他们会回到他们登陆我的页面之前的任何地方 现在的问题是,当我推动状态,然后在某一点上,它们会后退。例如Javascript 回到';开始';使用历史api,javascript,history.js,Javascript,History.js,假设我的历史记录中有一个任意点(有人在我的页面上登陆的点),我想在某些状态执行某些操作时推动它们,然后当它们完成时,我想返回到它们在页面上登陆时的历史点。所以,如果他们按下前进键,他们会再次开始动作,如果他们按下后退键,他们会回到他们登陆我的页面之前的任何地方 现在的问题是,当我推动状态,然后在某一点上,它们会后退。例如 登录页 推送状态1 推送状态2 背 现在,如果我想将它们返回到登录页,我只需要返回一次(而不是两次)。如何计算使用javascript将它们发送回的距离?似乎history
- 登录页
- 推送状态1
- 推送状态2
- 背
非常感谢您的帮助。如果您想转到特定的url,只需使用
window.location.replace(url)
重定向到特定的url即可
在您的情况下,在所有页面加载上,递增会话变量中保留的计数器,以便在回发之间不会丢失计数器,并使用它window.history.go(-count)
返回
供进一步阅读-
仅仅重定向到url根本无法实现我的目标,如果我可以重定向页面,我就不会使用历史api。我的全部问题都是问当我使用后退按钮时,我是如何得到这个计数的。你仔细阅读了我的问题了吗?再说一次,当他们使用后退按钮时,你如何校正计数。如果我保持页面浏览量的计数,当他们单击后退时,我需要从该计数中删除一个。在我的问题中,我已经给出了一个例子(现在编辑以使其更清晰)@rbhalla这里需要的是服务器上的会话对象来存储状态。您还可以查看各种客户端存储选项。