最近、WeChat、Alipay、Baidu Walletを使用して支払いが成功すると、ページが自動的に閉じられます。支払いに失敗すると、エラーメッセージが表示されます。エラー ページで [戻る]
をクリックするか、Android の物理ボタンをクリックして戻ると、ページが閉じられます。
WeChat、Alipay、Baidu Wallet では、従来の window.close() は無効であり、ページを閉じるには JS コードを使用する必要があります。モバイルアプリを閉じるには、次の 3 つの方法があります
:
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、Alipay、Baidu Wallet で戻るボタンをクリックして現在のページとウィンドウを閉じる方法の内容です。その他の関連コンテンツについては、PHP に注目してください。中国語のウェブサイト (m.sbmmt.com) !
関連記事:
jsで現在のページ(ウィンドウ)を閉じるいくつかの方法まとめ