Rumah  >  Artikel  >  hujung hadapan web  >  在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口

在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口

黄舟
黄舟asal
2017-03-28 13:58:525292semak imbas

最近在使用微信、支付宝、百度钱包实现网页支付,对支付成功将自动关闭页面,对于支付失败,将显示错误信息。当在错误页面的时候,点击返回

或者Android物理按键上一步的时候,将关闭页面。

在微信、支付宝、百度钱包中,他们对页面关闭进行了封装,传统的window.close()是无效的,必须要使用它们的js代码才能关闭。下面是三种移动app

的关闭方式:

WeixinJSBridge.call('closeWindow');//微信  
 AlipayJSBridge.call('closeWebview');  //支付宝  
 BLightApp.closeWindow();//百度钱包

通过浏览器的头判断是那种浏览器:

var ua = navigator.userAgent.toLowerCase();    
f(ua.match(/MicroMessenger/i)=="micromessenger") {    
      alert("微信客户端");  
} else if(ua.indexOf("alipay")!=-1){    
 alert("支付宝客户端");   
}else if(ua.indexOf("baidu")!=-1){    
 alert("百度客户端");   
}

对返回、上一页、后退进行监听,并对history中放入当前页地址:

$(function(){  
            pushHistory();  
            window.addEventListener("popstate", function(e) {  
                  
        }, false);  
            function pushHistory() {  
                var state = {  
                    title: "title",  
                    url: "#"  
                };  
                window.history.pushState(state, "title", "#");  
            }  
});

整个实现完整代码:

$(function(){  
            pushHistory();  
            window.addEventListener("popstate", function(e) {  
                pushHistory();  
                var ua = navigator.userAgent.toLowerCase();    
                if(ua.match(/MicroMessenger/i)=="micromessenger") {    
                     WeixinJSBridge.call('closeWindow');  
                } else if(ua.indexOf("alipay")!=-1){    
                     AlipayJSBridge.call('closeWebview');    
                }else if(ua.indexOf("baidu")!=-1){    
                    BLightApp.closeWindow();  
                }  
                else{  
                    window.close();  
                }  
        }, false);  
            function pushHistory() {  
                var state = {  
                    title: "title",  
                    url: "#"  
                };  
                window.history.pushState(state, "title", "#");  
            }  
        });

以上就是 在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关文章:

js关闭当前页面(窗口)的几种方式总结

待指定时间后自动跳转或关闭当前页面的js代码

打开新窗口关闭当前页面不弹出关闭提示js代码

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn