微信开发遇到的问题及解决

3 篇文章 0 订阅

微信开发遇到的问题及解决

情景1

我在做项目时,有一个页面(A页面)是选择数据项,这时跳了一个页面,到一个新的页面(B页面)选择数据,在这个新的页面(B页面)点击确定后,我把选择的数据存入window.sessionStorage中,然后返回上个页面(A页面)并将其刷新[window.history.go(-1);],而我在A页面读取缓存填写数据;

出现问题:ios中的微信不支持返回上一个页面并刷新[window.history.go(-1);],它仅仅只返回了上一个页面,不执行刷新操作;

解决:
在A页面添加

$(function () {  
    var isPageHide = false;  
    window.addEventListener('pageshow', function () {  
        if (isPageHide) {  
            window.location.reload();  
        }  
    });  
    window.addEventListener('pagehide', function () {  
        isPageHide = true;  
    });  
})  

B页面返回上一页的方法改为:

window.history.back(-1);

情景2

我在开发微信公众号时,由于该项目没有明确的登录的页面来起清空用户信息(重新加载用户信息)的作用,一旦用户的角色发生了变化,那么一些功能页面(在这个页面不同的角色看到的信息或可以做的事情不同)就会发生一些尴尬的情况,所以我做了一个功能菜单专门用来清空用户信息,其就是一个按钮,点击后用户的session就会被清空,然后重新登录,在页面上返回首页(也就上一页)[window.history.go(-1);]

出现问题:
微信公众号的首页(就那个聊天框),似乎不被视为页面,然后就很尴尬了,我那个页面的定时提示几秒跳…..时间到了没反应…

解决:
直接使用微信的api:WeixinJSBridge.invoke(‘closeWindow’);关闭当前窗口

$(function() {
            //3秒后关闭窗口[这里一旦关闭了窗口就是返回了首页]
            window.setTimeout("back()",3000);
            //每隔1秒刷新提示(还有几秒跳)
            window.setInterval("resetNum()",1000); 
})
        function back(){
            WeixinJSBridge.invoke('closeWindow');
        }
        function resetNum(){
            var numStr=$("#num").html();
            var num=parseInt(numStr);
            num=num-1;
            if(0==num){
                return;
            }
            $("#num").html(num);
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值