欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

ios微信浏览器返回不刷新问题完美解决方法

程序员文章站 2023-12-20 19:24:34
开始用的表单提交,返回参数就丢失,换成url跳转,popstate监听 (注释部分)ios10测试始终有问题,继续搜,最后用pageshow,pagehide完美解决(另外...

开始用的表单提交,返回参数就丢失,换成url跳转,popstate监听 (注释部分)ios10测试始终有问题,继续搜,最后用pageshow,pagehide完美解决(另外说一句:珍爱生命,远离微信和ios)

var wxback = {
    init :function(){
      //隐藏微信分享按钮等
      document.addeventlistener('weixinjsbridgeready', function onbridgeready() {
        weixinjsbridge.call('hidetoolbar');
        weixinjsbridge.call('hideoptionmenu');
        weixinjsbridge.call('hidemenuitems');
      });
      if(getsystem()=="ios"){
        //this.pushhistory();
        /* window.addeventlistener("popstate", function(e) { //回调函数中实现需要的功能
          //window.location.href = document.referrer+"&"+math.floor(math.random()*1000);
          //history.go(-1);//不管怎么样都是返回到最初的页面返回了n次
          //history.back();//不管怎么样都是返回到最初的页面返回了n次
          //window.location = document.referrer;//上一个页面url
          //weixinjsbridge.call('closewindow');//直接关闭页面
        }, false);*/
        var ispagehide = false; 
        window.addeventlistener('pageshow', function () { 
         if (ispagehide) {
          window.location.reload(); 
         } 
        }); 
        window.addeventlistener('pagehide', function () { 
         ispagehide = true; 
        }); 
      }
    },
    pushhistory :function () {
      var state = { 
        title: document.title, 
        url: location.href 
      }
      window.history.pushstate(state, state.title, state.url); 
      console.log(window.history);
    },
}

总结

以上所述是小编给大家介绍的ios微信浏览器返回不刷新问题完美解决方法,希望对大家有所帮助

上一篇:

下一篇: