back/go:加载历史列表中存在的前一个URL,从缓存中读取,不会刷新;
referrer:返回一个url,当前页面就是重这个URL代表的页面跳转或打开的。
const handleBack = (refresh) => {
if (refresh) { // 返回上一页并刷新
window.location = document.referrer
return
}
window.history.go(-1) // 返回上一页不刷新
}
<div onClick={() => handleBack(bool)}></div>
也可以通过监听的方式强制刷新
// 检测页面是否是从 缓存 中读取
window.addEventListener('pageshow', function(e) {
if (e.persisted) {
window.location.reload()
}
})