在微信、支付寶、百度錢包實現(xiàn)點擊返回按鈕關閉當前頁面和窗口的方法
最近在使用微信、支付寶、百度錢包實現(xiàn)網(wǎng)頁支付,對支付成功將自動關閉頁面,對于支付失敗,將顯示錯誤信息。當在錯誤頁面的時候,點擊返回或者Android物理按鍵上一步的時候,將關閉頁面。
在微信、支付寶、百度錢包中,他們對頁面關閉進行了封裝,傳統(tǒng)的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("百度客戶端");
}
對返回、上一頁、后退進行監(jiān)聽,并對history中放入當前頁地址:
$(function(){
pushHistory();
window.addEventListener("popstate", function(e) {
}, false);
function pushHistory() {
var state = {
title: "title",
url: "#"
};
window.history.pushState(state, "title", "#");
}
});
整個實現(xiàn)完整代碼:
$(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", "#");
}
});
以上所述是小編給大家介紹的在微信、支付寶、百度錢包實現(xiàn)點擊返回按鈕關閉當前頁面和窗口的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
用JavaScript腳本實現(xiàn)Web頁面信息交互
這篇文章主要給大家介紹了關于用JavaScript腳本實現(xiàn)Web頁面信息交互的相關資料,需要的朋友可以參考下2006-12-12
細說javascript函數(shù)從函數(shù)的構成開始
javascript函數(shù)是一個比較奇怪的東西,接觸一段時間你就會犯迷糊,我想從函數(shù)的構成來細說函數(shù),這聽起來像是一句廢話,講任何東西當然是從構成去談2013-08-08
javascript中arguments,callee,caller詳解
javascript中arguments,caller,callee 是什么? 在javascript 中有什么樣的作用?本篇會對于此做一些基本介紹。希望大家能夠喜歡。2016-03-03
簡介JavaScript中的getUTCFullYear()方法的使用
這篇文章主要介紹了簡介JavaScript中的getUTCFullYear()方法的使用,是JS入門學習中的基礎知識,需要的朋友可以參考下2015-06-06

