JS实现微信支付宝页面点击返回关闭当前页

QUESTIONS 问题:
1. iPhone上使用微信扫码进入公众号内页,页面跳转后返回,出现样式错乱(但是刷新后恢复正常,安卓手机一直正常,未出现问题)。
   PS: 该问题仍未解决,猜测是返回时css加载问题,暂定在该页面返回时禁用浏览器自带的返回事件,手动定向到之前页面。

2. 在特定页面点击返回按钮,关闭当前页面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script>
        $(function () {
            // 不调用该方法,浏览器执行的仍是自带的默认返回事件
            pushHistory();
            window.addEventListener("popstate", function(e) {
                pushHistory(); 
                // 下面写上自定义的希望浏览器返回的时候执行的事件
                // 1. 点击返回时手动跳转相应页面
                // location.href = "xxxx";     
                // 
                // 2. 由于该项目只有微信和支付宝,因此通过是否存在openid进行判断
                if (open_id) {
                    WeixinJSBridge.call('closeWindow');   // 关闭微信页面窗口
                } else {
                    AlipayJSBridge.call('closeWebview');   // 关闭支付宝页面窗口
                }
                 // PS: BLightApp.closeWindow();    //关闭百度钱包页面窗口
            }, false);
            function pushHistory() {
                var state = {
                    title: "title",
                    url: "#"
                };
                window.history.pushState(state, "title", "#");
            }

        })
    </script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/xiaomajia029/article/details/79898973