>웹 프론트엔드 >H5 튜토리얼 >WeChat, Alipay 및 Baidu Wallet의 현재 페이지와 창을 닫으려면 돌아가기 버튼을 클릭하세요.

WeChat, Alipay 및 Baidu Wallet의 현재 페이지와 창을 닫으려면 돌아가기 버튼을 클릭하세요.

黄舟
黄舟원래의
2017-03-28 13:58:525355검색

최근에는 WeChat, Alipay, Baidu Wallet을 사용하여 웹 결제를 구현하고 있는데, 결제에 실패하면 페이지가 자동으로 닫힙니다. 오류 페이지에서 돌아가기

를 클릭하거나 Android 물리 버튼을 눌러 뒤로 돌아가면 페이지가 닫힙니다.

WeChat, Alipay 및 Baidu Wallet에서는 페이지 닫기를 캡슐화합니다. 기존 window.close()는 유효하지 않으며 페이지를 닫으려면 해당 js 코드를 사용해야 합니다. 다음은 모바일 앱을 닫는 세 가지 방법입니다

:

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

브라우저 헤더로 어떤 브라우저인지 확인합니다.

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

(돌아가기, 이전 페이지 및 뒤로) 모니터 및 현재 페이지 주소를 기록에 추가:

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

전체 구현에 대한 전체 코드:

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

위는 WeChat에서 돌아가기 버튼을 클릭하여 현재 페이지와 창을 닫는 방법입니다. 알리페이, 바이두월렛 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!

관련 기사:

현재 페이지(창)를 닫는 여러 가지 방법에 대한 JS 요약

지정된 페이지 이후 자동으로 현재 페이지를 점프하거나 닫는 JS 코드

새 창을 열고 JS 코드 종료 프롬프트를 표시하지 않고 현재 페이지를 닫습니다

.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.