昨天码代码时遇到一个问题,history.back()或go(x)、forward()之后,调用刷新location.reload()方法,怎么也跳转不到上一个页面。在此处写出昨天产生的一些疑问以及自己的一些理解,希望大家能够给出合理的指点,谢谢。
实际需求为:完成一个选人界面,移动端Web网页。(此处具体实现为单页面后台数据刷新,多页面或Ajax、本地存储等方式实现的请略过本文)
选人界面,最基本的结构:部门+人员,构成父节点+子节点的结构,选中父节点后刷新当前界面为选中节点的下级节点。
当进入多子级节点选人时,需要选择上级节点中的人,则此时需要返回功能,同时,返回后的界面应当保存上一次选择的人员的节点选中状态,选中的节点数据可通过多种方式实现存储,此处以本地sessionStorage+后台Session混合校验存储的方式进行实现,即将当前操作页面中选中的节点数据存至SessionStorage中,在页面的跳转前事件中,将该值同步至Session中,在页面的后台即LoadPage事件中,加载Session中存储的节点的选中状态并渲染至前端UI。
尝试方案一:
网上搜到的答案基本上都是首段描述的方案:history.back();location.reload(),。
在此处提出疑问:这种方式真的能奏效吗?我实现出来的结果是,刷新后的界面还是当前界面。错误猜想:假设存在3个页面,page1、page2、page3,现从page1点击后跳转至page2,此时点击"返回"按钮,返回上一页,按照以上的方案