zoukankan      html  css  js  c++  java
  • 监听公众号返回按钮,直接退出到公众号页面

    直接退出到公众号页面

    window.history.pushState(null, null, "#");
                window.addEventListener('popstate', function(e) {
                    WeixinJSBridge.call('closeWindow');
                }, false);

    通过监听popstate事件,来判断是否点击返回按钮,比如从A页面跳转到B页面(监听popstate),
    然后再跳转到C页面,点击返回的按钮,测试成功,包括安卓版,
    但是问题来了,IOS版的微信,是会立即触法popstate事件,导致直接从C页面跳转到A页面,
    其他的支付宝(安卓、IOS)、微信(安卓)都是可以,就是微信IOS版不行。

    解决方法

    var isRun = ''
                var isRuns
                function isRuns() {
                    isRun = false
                    //                直接退出到公众号页面
                    window.history.pushState(null, null, "#");
                    window.addEventListener('popstate', function(e) {
                        if(isRun == true) {
                            WeixinJSBridge.call('closeWindow');
                        }
                    }, false);
                }
                window.history.pushState(null, null, "#");
                window.addEventListener('pageshow', function() {
                    isRun = false;
                    setTimeout(function() {
                        isRun = true;
                    }, 1000); //延迟1秒 防止微信返回立即执行popstate事件
                    isRuns()
                });
  • 相关阅读:
    git命令记录
    JS实现iframe自适应高度
    js生成某个范围内的随机数
    jquery实现按钮翻转动画
    删除ELK的索引
    ELK故障处理,不知道成功否
    软件开发的SOLID原则
    阿里云的远程桌面问题
    Zabbix增加邮箱后Server宕处理
    201811招投标培训要点
  • 原文地址:https://www.cnblogs.com/lipengze/p/11429279.html
Copyright © 2011-2022 走看看