window.history.go(-1) 和 window.history.back(-1) 都用了,安卓会刷新,IOS系统不刷新(IOS会读取浏览器缓存)
下面用了一种比较low的方法,但是好歹实现了。。
//home.html
localStorage.setItem('homeHref',window.location.href);
location.href = "./detail.html";
在详情页, 后面加了一个随机数,是防止IOS读取浏览器缓存
//detail.html
location.href= window.localStorage.getItem('homeHref')+"&tmp="+Math.random();
浏览页面的时候,如果跳往其他页面,然后返回上一页,有时候并不会刷新(应该是缓存机制的原因),此时我们可以通过添加一段 js 代码强制刷新页面。
window.onpageshow = function (event) {
if (event.persisted) {
window.location.reload();
}
}
onpageshow 事件在每次加载页面的时候都会触发,而 event.persisted
则用于判断页面是否从缓存中读取,若是则为 true
。