遇到返回鍵會退到頁面的問題(window.location)


我的需求是a全局列表頁-》b展示列表頁-》c新增頁(編輯頁)
我從b展示列表頁,通過編輯進入c編輯頁,保存回到b展示列表頁。

重,我的b展示列表頁,返回要返回的其實是a全局列表頁
*使用replace應該也是一種方式
*我使用的方式如下

success:function(){

  var msg="保存成功"
}

wxcepToast(msg,"back");
function wxcepToast(mes,redirectUrl){
    var mesInfo='已完成';
    if(mes!=undefined){
        mesInfo=mes;
    }
    var toastHtml='<div id="toast" style="display: none;"><div class="weui_mask_transparent">'+

    '</div><div class="weui_toast"><i class="weui_icon_toast"></i> '+
   '<p class="weui_toast_content">'+mesInfo+'</p> </div> </div>';
    privateShowDialog('#toast',toastHtml,redirectUrl);
}

function privateShowDialog(objName,contentHtml,redirectUrl,time){
  $('body').append(contentHtml);
  var loadObj=$(objName);
  loadObj.show();
  var timeNum=time==undefined?2000:time;
  setTimeout(function () {
   loadObj.hide().remove();
   if(redirectUrl!=undefined){
      if(typeof(redirectUrl)=='function'){
      redirectUrl();
   }else{
    if(redirectUrl=='back'){
       localStorage.refresh=1;
       history.go(-1);
     }else if(redirectUrl=='back2'){
       localStorage.refresh=1;
       history.go(-2);
     }else if(redirectUrl=='closeWin'){
       wx.closeWindow();
     }else{
       window.location.href =redirectUrl;
     }
  }
  
}
}, timeNum);
}

 

通過這個返回在ios下頁面不會刷新,
 
可以通過pageshow去清掉b展示列表頁的緩存
// 無視前進后退時的緩存(主要ios系統),強制刷新
function bindForceRefresh(callback) {
    callback = callback || function() {
        window.location.reload();
    };
    $(function() {
        var isPageHide = false;
        window.addEventListener('pageshow', function() {
            if(isPageHide) {
                callback()
            }
        });
        window.addEventListener('pagehide', function() {
            isPageHide = true;
        });
    })
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM