有些页面没有效果
window.location.go(-1)
部分安卓微信环境
场景如下:
A页面到B页面 然后用户点击返回或者屏幕左滑动返回时, 页面没有刷新
ios和安卓处理方式不行
需要做的事: 1.添加头部信息:设置不缓存
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">
2.ios需要设置
window.onpageshow = function (e) {
if (e.persisted) {
window.location.reload(true)
}
}
然后这样在安卓也是有问题的
我这样处理了。没有封装方法 , 你们需要可以封装一个
总结
A页面
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">
<script>
var ua = navigator.userAgent;
var isIOS = function () {
return /(iPhone|iPad|iPod)/i.test(ua);
}
if (isIOS()) {
window.onpageshow = function (e) {
if (e.persisted) {
window.location.reload(true)
}
}
} else {
var pageRefreshName = sessionStorage.getItem('REFRESH_PAGE');
if (pageRefreshName == 'a.html') {
sessionStorage.removeItem('REFRESH_PAGE');
window.location.reload();
}
}
</script>
这个代码最好在页面head标签内加入
B页面
需要在标志A页面要刷新的地方执行
sessionStorage.setItem('REFRESH_PAGE', 'a.html')
实践有效