Home  >  Article  >  Web Front-end  >  Android Alipay client HTML5 web page occasionally cannot be closed automatically

Android Alipay client HTML5 web page occasionally cannot be closed automatically

黄舟
黄舟Original
2017-02-09 15:43:422082browse

The company's products use the Alipay mobile web interface for payment. When the third-party merchant passes in the jump address, the Alipay page will jump to the address after the payment is successful. If the payment is not sent, the page will automatically close.

When testing, it works on the iOS client, but sometimes it works on the Android client and sometimes it doesn't work.

Previous code:

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

By searching the js api document related to Alipay web payment, the document describes that the AlipayJSBridge object will be created after the page is loaded, and the AlipayJSBridgeReady event will be triggered at the same time.

From this sentence, I found the reason why the webpage occasionally closes in the Alipay client of Android and sometimes fails:

The reason why it may not close is that when executing AlipayJSBridge.call(' closeWebview') operation, AlipayJSBridge has not been created yet, so it cannot be executed. Therefore, we need to listen to the Alipay

JSBridgeReady event.

Solution code:

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

The above is the content of the problem that the Android Alipay client HTML5 web page occasionally cannot be automatically closed. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn