Heim  >  Artikel  >  Web-Frontend  >  Klicken Sie auf die Schaltfläche „Zurück“, um die aktuelle Seite und das aktuelle Fenster in WeChat, Alipay und Baidu Wallet zu schließen

Klicken Sie auf die Schaltfläche „Zurück“, um die aktuelle Seite und das aktuelle Fenster in WeChat, Alipay und Baidu Wallet zu schließen

黄舟
黄舟Original
2017-03-28 13:58:525225Durchsuche

Seit kurzem verwende ich WeChat, Alipay und Baidu Wallet, um die Online-Zahlung zu implementieren. Wenn die Zahlung erfolgreich ist, wird die Seite automatisch geschlossen. Wenn die Zahlung fehlschlägt, wird eine Fehlermeldung angezeigt. Wenn Sie auf der Fehlerseite auf „Zurück“

oder auf die physische Android-Schaltfläche klicken, um zurückzugehen, wird die Seite geschlossen.

In WeChat, Alipay und Baidu Wallet kapseln sie das Schließen der Seite. Das herkömmliche window.close() ist ungültig und zum Schließen muss ihr JS-Code verwendet werden. Es gibt drei Möglichkeiten, mobile Apps zu schließen

:

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

Ermitteln Sie anhand der Kopfzeile des Browsers, um welchen Browser es sich handelt:

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("百度客户端");   
}

Für Return, Up Eine Seite, zurück zum Überwachen und die aktuelle Seitenadresse in den Verlauf einfügen:

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

Der vollständige Code der gesamten Implementierung:

$(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", "#");  
            }  
        });

Das Obige ist in WeChat implementiert. Alipay und Baidu Wallet Klicken Sie auf die Schaltfläche „Zurück“, um den Inhalt der aktuellen Seite und des aktuellen Fensters zu schließen. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Verwandte Artikel:

JS-Zusammenfassung mehrerer Möglichkeiten zum Schließen der aktuellen Seite (Fenster)

Automatisch nach dem angegebenen Zeit-JS-Code zum Springen oder Schließen der aktuellen Seite

Öffnen Sie ein neues Fenster und schließen Sie die aktuelle Seite, ohne dass der schließende JS-Code angezeigt wird

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn