android支付寶客戶端html5網(wǎng)頁無法自動關(guān)閉問題的解決方法
公司產(chǎn)品使用支付寶移動網(wǎng)頁接口支付,當(dāng)三方商戶傳入跳轉(zhuǎn)地址,在支付寶頁面支付成功后跳轉(zhuǎn)到該地址,如果沒傳將會自動關(guān)閉頁面。
測試的時候在ios客戶端上面可以,但是在Android客戶端上偶爾行偶爾不行。
以前代碼:
$(function(){
if('$[code]'=="00")
{
if('${merUrl}'!="")
{
window.location.href='${merUrl}';
}else{
AlipayJSBridge.call('closeWebview');
}
}else{
$("#error_msg").html("支付失敗");
$("#error").show();
}
});
通過查找支付寶網(wǎng)頁支付的相關(guān)的js api文檔,文檔中描述當(dāng)頁面加載完后會創(chuàng)建 AlipayJSBridge對象,同時會觸發(fā)AlipayJSBridgeReady事件。
從這句話中找到了網(wǎng)頁在android的支付寶客戶端偶爾關(guān)閉得了偶爾不行的原因:
可能關(guān)閉不了的原因是當(dāng)執(zhí)行 AlipayJSBridge.call('closeWebview')操作時,AlipayJSBridge還沒有創(chuàng)建,所以無法執(zhí)行。因此我們需要對AlipayJSBridgeReady事件進(jìn)行監(jiān)聽。
解決代碼:
document.addEventListener('AlipayJSBridgeReady', function () {
if('$[code]'=="00")
{
if('${merUrl}'!="")
{
window.location.href='${merUrl}';
}else{
AlipayJSBridge.call('closeWebview');
}
}else{
$("#error_msg").html("支付失敗");
$("#error").show();
}
}, false);
以上代碼完美解決了問題,通過測試在android、ios支付寶移動客戶端上都能完美自動關(guān)閉頁面。
相關(guān)文章
Android開發(fā)中總結(jié)的Adapter工具類【附完整源碼下載】
這篇文章主要介紹了Android開發(fā)中總結(jié)的Adapter工具類,簡單說明了Adapter的功能,并結(jié)合實(shí)例形式分析了Adapter工具類的相關(guān)使用方法,并附帶完整源碼供讀者下載參考,需要的朋友可以參考下2017-11-11
Android動態(tài)修改ToolBar的Menu菜單示例
本篇文章主要介紹了Android動態(tài)修改ToolBar的Menu菜單示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Android不壓縮圖片實(shí)現(xiàn)高清加載巨圖實(shí)例
這篇文章主要為大家介紹了Android不壓縮圖片實(shí)現(xiàn)高清加載巨圖實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Android string-array數(shù)據(jù)源簡單使用
這篇文章主要介紹了Android string-array數(shù)據(jù)源簡單使用的相關(guān)資料,需要的朋友可以參考下2016-09-09
android 左右滑動+索引圖標(biāo)實(shí)現(xiàn)方法與代碼
使用Gallery和ImageView實(shí)現(xiàn)android左右滑動+索引圖標(biāo)效果,接下來詳細(xì)介紹,有需要的朋友可以參考下2012-12-12
android 開發(fā) 文件讀寫應(yīng)用案例分析
在Android應(yīng)用中保存文件會使用到文件讀寫技術(shù),本文將詳細(xì)介紹,需要的朋友可以參考下2012-12-12

