android支付寶客戶端html5網(wǎng)頁(yè)無(wú)法自動(dòng)關(guān)閉問(wèn)題的解決方法
公司產(chǎn)品使用支付寶移動(dòng)網(wǎng)頁(yè)接口支付,當(dāng)三方商戶傳入跳轉(zhuǎn)地址,在支付寶頁(yè)面支付成功后跳轉(zhuǎn)到該地址,如果沒(méi)傳將會(huì)自動(dòng)關(guān)閉頁(yè)面。
測(cè)試的時(shí)候在ios客戶端上面可以,但是在Android客戶端上偶爾行偶爾不行。
以前代碼:
$(function(){ if('$[code]'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview'); } }else{ $("#error_msg").html("支付失敗"); $("#error").show(); } });
通過(guò)查找支付寶網(wǎng)頁(yè)支付的相關(guān)的js api文檔,文檔中描述當(dāng)頁(yè)面加載完后會(huì)創(chuàng)建 AlipayJSBridge對(duì)象,同時(shí)會(huì)觸發(fā)AlipayJSBridgeReady事件。
從這句話中找到了網(wǎng)頁(yè)在android的支付寶客戶端偶爾關(guān)閉得了偶爾不行的原因:
可能關(guān)閉不了的原因是當(dāng)執(zhí)行 AlipayJSBridge.call('closeWebview')操作時(shí),AlipayJSBridge還沒(méi)有創(chuàng)建,所以無(wú)法執(zhí)行。因此我們需要對(duì)AlipayJSBridgeReady事件進(jìn)行監(jiān)聽(tīng)。
解決代碼:
document.addEventListener('AlipayJSBridgeReady', function () { if('$[code]'=="00") { if('${merUrl}'!="") { window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview'); } }else{ $("#error_msg").html("支付失敗"); $("#error").show(); } }, false);
以上代碼完美解決了問(wèn)題,通過(guò)測(cè)試在android、ios支付寶移動(dòng)客戶端上都能完美自動(dòng)關(guān)閉頁(yè)面。
相關(guān)文章
Android開(kāi)發(fā)者常見(jiàn)的UI組件總結(jié)大全
Android開(kāi)發(fā)中UI組件是構(gòu)建用戶界面的基本元素,下面這篇文章主要給大家介紹了關(guān)于Android開(kāi)發(fā)者常見(jiàn)的UI組件總結(jié)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04Android 利用 APT 技術(shù)在編譯期生成代碼
本文主要講解Android 利用 APT 技術(shù)在編譯期生成代碼,這里提供詳細(xì)的資料,并講解如何實(shí)現(xiàn),有興趣的小伙伴可以參考下2016-08-08Android ExpandableListView展開(kāi)列表控件使用實(shí)例
這篇文章主要介紹了Android ExpandableListView展開(kāi)列表控件使用實(shí)例,本文實(shí)現(xiàn)了一個(gè)類似手機(jī)QQ好友列表的界面效果,需要的朋友可以參考下2014-07-07Android實(shí)現(xiàn)讓圖片在屏幕上任意移動(dòng)的方法(拖拽功能)
這篇文章主要介紹了Android實(shí)現(xiàn)讓圖片在屏幕上任意移動(dòng)的方法,實(shí)例分析了Android拖拽功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-08-08Android學(xué)習(xí)教程之分類側(cè)滑菜單(5)
這篇文章主要為大家詳細(xì)介紹了Android學(xué)習(xí)教程之分類側(cè)滑菜單的具體代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11android kotlin集成WorkManager實(shí)現(xiàn)定時(shí)獲取數(shù)據(jù)的步驟
在Android中使用Kotlin集成WorkManager來(lái)實(shí)現(xiàn)定時(shí)獲取數(shù)據(jù)是一個(gè)很常見(jiàn)的需求,下面給大家分享android kotlin集成WorkManager實(shí)現(xiàn)定時(shí)獲取數(shù)據(jù)的步驟,感興趣的朋友跟隨小編一起看看吧2024-08-08Android自定義標(biāo)尺滑動(dòng)選擇值效果
這篇文章主要為大家詳細(xì)介紹了Android自定義標(biāo)尺滑動(dòng)選擇值效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Android應(yīng)用中使用ListView來(lái)分頁(yè)顯示刷新的內(nèi)容
這篇文章主要介紹了Android應(yīng)用中使用ListView來(lái)分頁(yè)顯示刷新的內(nèi)容的方法,展示了一個(gè)點(diǎn)擊按鈕進(jìn)行刷新的實(shí)例以及下拉刷新分頁(yè)顯示的要點(diǎn)解析,需要的朋友可以參考下2016-04-04Android實(shí)現(xiàn)檢查并下載APK更新、安裝APK及獲取網(wǎng)絡(luò)信息的方法
這篇文章主要介紹了Android實(shí)現(xiàn)檢查并下載APK更新、安裝APK及獲取網(wǎng)絡(luò)信息的方法,很實(shí)用的功能,需要的朋友可以參考下2014-07-07