首頁  >  文章  >  web前端  >  android支付寶客戶端html5網頁偶爾無法自動關閉問題

android支付寶客戶端html5網頁偶爾無法自動關閉問題

黄舟
黄舟原創
2017-02-09 15:43:422043瀏覽

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

測試的時候在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付款寶客戶端html5網頁偶爾無法自動關閉問題的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn