ios中微信浏览器返回上一页时如何使其强制刷新

新手上路,请多包涵

在做微信网页时,发现登录成功进入会员中心页面后,按返回键会返回到上一登录页面,并不会刷新,如何使其在ios中按返回键会进行刷新呢?
我使用下面代码,在安卓中按返回键返回到登录页面时是会进行刷新的,但在ios中不会,这是为什么呢?如果想在ios中按返回键时也能够刷新应该如何做呢?
会员中心页面:
sessionStorage.setItem("need-refresh", true);
登录页面
$(function () {

var needRefresh = sessionStorage.getItem("need-refresh");
if(needRefresh){
    sessionStorage.removeItem("need-refresh");
    location.reload();
}

});

阅读 7.7k
3 个回答

1.通过onload方法
页面中加一个隐藏input

<input type="hidden" id="refreshed" value="no">

onload=function(){
    var refreshedId=document.getElementById("refreshed");
        if(refreshedId.value=="no"){
            refreshedId.value="yes";
        }else{
            refreshedId.value="no";
            window.location.reload() ;
        }
    }

2.通过pageshow方法

window.onpageshow=function(e){
    if(e.persisted) {
        window.location.reload() 
    }
};
  1. 使用location.replace作跳转,这样就不会返回登陆页了;
  2. 后端登陆的控制器判断是否已登陆,已登陆就不再跳转到登录页

可以从后端传一个时间戳到前端,后退的时候,配合前端的时间戳来判断,不过这种方法是下下策。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题