欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android支付寶客戶端html5網(wǎng)頁無法自動關(guān)閉問題的解決方法

 更新時間:2017年04月22日 16:12:53   作者:Mr_Smile2014  
這篇文章主要為大家詳細介紹了android支付寶客戶端html5網(wǎng)頁無法自動關(guān)閉問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

公司產(chǎn)品使用支付寶移動網(wǎ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文檔,文檔中描述當頁面加載完后會創(chuàng)建 AlipayJSBridge對象,同時會觸發(fā)AlipayJSBridgeReady事件。

從這句話中找到了網(wǎng)頁在android的支付寶客戶端偶爾關(guān)閉得了偶爾不行的原因:

可能關(guān)閉不了的原因是當執(zhí)行 AlipayJSBridge.call('closeWebview')操作時,AlipayJSBridge還沒有創(chuàng)建,所以無法執(zhí)行。因此我們需要對AlipayJSBridgeReady事件進行監(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)文章

最新評論