首先直接看结论
下面是实现网页后退(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()
}
核心点如下:
- 调用该工具类的back方法后,前一个页面会自动刷新
- 如果一个页面自动刷新,那么其再往前的一个页面也会自动刷新
该工具类如何使用
首先,页面初始化的执行的js中需要有如下一行:
var historyBackRefresher = PageHistoryBackRefresher.init()
然后,在需要返回前一个页面并且需要自动刷新的地方,调用如下代码:
historyBackRefresher.back()
OK,完成。
版权声明:本文为heiantianshi1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。