移动端点击返回上一页时,强制刷新

返回后页面不刷新,一些失效的信息依然显示在页面上。
这个问题在iphone手机上会出现,在Android手机上返回时会自动刷新。
通过代码调试发现,返回上一级的页面是从往返缓存中获取的,而浏览器保存了DOM和js的状态,再次打开时不触发onload事件,即页面不会重新加载。

onpageshow 事件在用户浏览网页时触发,类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发。

具体处理方法:
在可能会出现数据变化的页面设置缓存,即为只要页面数据变化了就写缓存一条记录,在返回页面后检测到这条记录就说明需要页面刷新

假设history.html 为要返回的上一级页面,current.html 为当前页面

在返回的需要刷新的页面 history.html 添加代码
window.addEventListener(“pageshow”, function(){
if(sessionStorage.getItem(“need-refresh”)){
location.reload();
sessionStorage.removeItem(“need-refresh”);
}
});

如若当前页面数据发生了变化,在当前页面添加代码
sessionStorage.setItem(“need-refresh”, true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值