直接退出到公眾號頁面
window.history.pushState(null, null, "#"); window.addEventListener('popstate', function(e) { WeixinJSBridge.call('closeWindow'); }, false);
通過監聽popstate事件,來判斷是否點擊返回按鈕,比如從A頁面跳轉到B頁面(監聽popstate),
然后再跳轉到C頁面,點擊返回的按鈕,測試成功,包括安卓版,
但是問題來了,IOS版的微信,是會立即觸法popstate事件,導致直接從C頁面跳轉到A頁面,
其他的支付寶(安卓、IOS)、微信(安卓)都是可以,就是微信IOS版不行。
解決方法
var isRun = '' var isRuns function isRuns() { isRun = false // 直接退出到公眾號頁面 window.history.pushState(null, null, "#"); window.addEventListener('popstate', function(e) { if(isRun == true) { WeixinJSBridge.call('closeWindow'); } }, false); } window.history.pushState(null, null, "#"); window.addEventListener('pageshow', function() { isRun = false; setTimeout(function() { isRun = true; }, 1000); //延遲1秒 防止微信返回立即執行popstate事件 isRuns() });