Maison >interface Web >Tutoriel H5 >Cliquez sur le bouton de retour pour fermer la page et la fenêtre actuelles dans WeChat, Alipay et Baidu Wallet

Cliquez sur le bouton de retour pour fermer la page et la fenêtre actuelles dans WeChat, Alipay et Baidu Wallet

黄舟
黄舟original
2017-03-28 13:58:525358parcourir

Récemment, j'utilise WeChat, Alipay et Baidu Wallet pour mettre en œuvre le paiement Web. Si le paiement réussit, la page sera automatiquement fermée. Si le paiement échoue, un message d'erreur s'affichera. Lorsque vous êtes sur la page d'erreur, cliquez sur Retour

ou sur le bouton physique Android pour revenir en arrière, la page sera fermée.

Dans WeChat, Alipay et Baidu Wallet, ils encapsulent la fermeture de page. Le window.close() traditionnel n'est pas valide et leur code js doit être utilisé pour le fermer. Voici trois façons de fermer les applications mobiles

 :

WeixinJSBridge.call('closeWindow');//微信  
 AlipayJSBridge.call('closeWebview');  //支付宝  
 BLightApp.closeWindow();//百度钱包

Déterminez de quel navigateur il s'agit grâce à l'en-tête du navigateur :

var ua = navigator.userAgent.toLowerCase();    
f(ua.match(/MicroMessenger/i)=="micromessenger") {    
      alert("微信客户端");  
} else if(ua.indexOf("alipay")!=-1){    
 alert("支付宝客户端");   
}else if(ua.indexOf("baidu")!=-1){    
 alert("百度客户端");   
}

Pour Retour, Haut Une page, revenez à surveiller, et mettez l'adresse de la page actuelle dans l'historique :

$(function(){  
            pushHistory();  
            window.addEventListener("popstate", function(e) {  
                  
        }, false);  
            function pushHistory() {  
                var state = {  
                    title: "title",  
                    url: "#"  
                };  
                window.history.pushState(state, "title", "#");  
            }  
});

Le code complet de l'ensemble de l'implémentation :

$(function(){  
            pushHistory();  
            window.addEventListener("popstate", function(e) {  
                pushHistory();  
                var ua = navigator.userAgent.toLowerCase();    
                if(ua.match(/MicroMessenger/i)=="micromessenger") {    
                     WeixinJSBridge.call('closeWindow');  
                } else if(ua.indexOf("alipay")!=-1){    
                     AlipayJSBridge.call('closeWebview');    
                }else if(ua.indexOf("baidu")!=-1){    
                    BLightApp.closeWindow();  
                }  
                else{  
                    window.close();  
                }  
        }, false);  
            function pushHistory() {  
                var state = {  
                    title: "title",  
                    url: "#"  
                };  
                window.history.pushState(state, "title", "#");  
            }  
        });

Ce qui précède est implémenté dans WeChat, Alipay et Baidu Wallet Cliquez sur le bouton de retour pour fermer le contenu de la page et de la fenêtre actuelles. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Articles connexes :

Résumé JS de plusieurs façons de fermer la page actuelle (fenêtre)

Automatiquement après le spécifié time JS code pour sauter ou fermer la page actuelle

Ouvrez une nouvelle fenêtre et fermez la page actuelle sans afficher l'invite de fermeture

.
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn