JS怎么判断页面是从前一个页面后退回来的

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JS怎么判断页面是从前一个页面后退回来的?

在做前端页面开发时,我们有时候需要判断当前页面是否是从某个页面后退回来的,比如一个很常见的应用场景:

1.进入到一个列表页面。

2.点击列表页面的一个链接去到管理页面。

3.在管理页面修改列表数据的名称,或删除了列表数据的某一条或多条数据。

4.从管理页面点击浏览器后退按钮,回到列表页面。

5.列表如果有显示在管理页面修改名称的数据,或有删除掉的数据时,如果是后退回来的,这些数据是不会变化的,改过名称的,还会显示原来的名称;删除掉的数据,还会显示在当前页面。

6.如果是重新刷新页面,是不会存在上面的问题的。

如何解决上面的问题?

如果你可以通过JS来判断页面是从前一个页面后退回来的,则可以用JS来通过AJAX请求来更新页面的内容,或者强制刷新当前页面。

解决办法:

可以通过浏览器的performance对象来得到进入到该页面是否是后退回来的。window.performance.navigation.type

这个对象的type有三个值:

=1时,表示当前页面是通过刷新页面加载的。

=2时,表示当前页面是通过浏览器后退按钮,或者history.go(-1)加载的。

=0时,表示是当前页面是正常加载的,比如点击链接进入的。

具体的逻辑可以参考下面的代码图片。

相关文档
最新文档