文章出處

公司產品使用支付寶移動網頁接口支付,當三方商戶傳入跳轉地址,在支付寶頁面支付成功后跳轉到該地址,如果沒傳將會自動關閉頁面。

測試的時候在ios客戶端上面可以,但是在android客戶端上偶爾行偶爾不行。

以前代碼:

$(function(){if('${code}'=="00"){ if('${merUrl}'!="") {   window.location.href='${merUrl}'; }else{ AlipayJSBridge.call('closeWebview');      }}else{$("#error_msg").html("支付失敗");$("#error").show();}  });

通過查找支付寶網頁支付的相關的js api文檔,文檔中描述當頁面加載完后會創建 AlipayJSBridge對象,同時會觸發AlipayJSBridgeReady事件。

 

從這句話中找到了網頁在android的支付寶客戶端偶爾關閉得了偶爾不行的原因:

可能關閉不了的原因是當執行 AlipayJSBridge.call('closeWebview')操作時,AlipayJSBridge還沒有創建,所以無法執行。因此我們需要對Alipay

JSBridgeReady事件進行監聽。

 

解決代碼:

 

 

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支付寶移動客戶端上都能完美自動關閉頁面。

 

 

看文倉www.kanwencang.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20161027/10917.html

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()