前端js之后退自动刷新

  • Post author:
  • Post category:其他


首先直接看结论

下面是实现网页后退(history.back()或history.go(-1))后刷新的工具类源码:

function PageHistoryBackRefresher() {
}

PageHistoryBackRefresher.init = function () {
    if (location.href == sessionStorage.outdatedPage) {
        sessionStorage.outdatedPage = document.referrer == location.href ? "" : document.referrer
        history.go(0)
    }
    return new PageHistoryBackRefresher()
}

PageHistoryBackRefresher.prototype.back = function () {
    sessionStorage.outdatedPage = document.referrer
    history.back()
}

核心点如下:

  1. 调用该工具类的back方法后,前一个页面会自动刷新
  2. 如果一个页面自动刷新,那么其再往前的一个页面也会自动刷新

该工具类如何使用

首先,页面初始化的执行的js中需要有如下一行:

var historyBackRefresher = PageHistoryBackRefresher.init()

然后,在需要返回前一个页面并且需要自动刷新的地方,调用如下代码:

historyBackRefresher.back()

OK,完成。



版权声明:本文为heiantianshi1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。