问题

在微信web页面开发的过程中,会遇到返回上一个页面数据没有刷新的情况。

解决方案

在该页面监控用户的浏览,每次加载都刷新页面。

1
2
3
4
5
6
window.onpageshow = function(event){
if (event.persisted) {
window.location.reload();
}
}

onpageshow 事件在用户浏览网页时触发。

onpageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。

为了查看页面是直接从服务器上载入还是从缓存中读取,可以使用 PageTransitionEvent 对象的 persisted 属性来判断。 如果页面从浏览器的缓存中读取该属性返回 ture,否则返回 false 。

window.location.reload() 强制刷新当前页面。