DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> 在微信、支付寶、百度錢包實現點擊返回按鈕關閉當前頁面和窗口的方法
在微信、支付寶、百度錢包實現點擊返回按鈕關閉當前頁面和窗口的方法
編輯:JavaScript基礎知識     

最近在使用微信、支付寶、百度錢包實現網頁支付,對支付成功將自動關閉頁面,對於支付失敗,將顯示錯誤信息。當在錯誤頁面的時候,點擊返回或者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", "#"); 
} 
});

以上所述是小編給大家介紹的在微信、支付寶、百度錢包實現點擊返回按鈕關閉當前頁面和窗口的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved