瀏覽器回退事件的監(jiān)聽:
當(dāng)前所進(jìn)行的處理是點(diǎn)擊返回時(shí)關(guān)閉頁面
同時(shí)對(duì)ios微信端popstate自動(dòng)觸發(fā)的bug做了處理
代碼如下:
/**
?*?瀏覽器回退事件監(jiān)聽
?*/
var?listenerBackHandler?=?{
????param:?{
????????isRun:?false,?//防止微信返回立即執(zhí)行popstate事件
????},
????listenerBack:?function?()?{
????????var?state?=?{
????????????title:?"title",
????????????url:?"#"
????????};
????????window.history.pushState(state,?"title",?"#");
????????window.addEventListener("popstate",?function?(e)?{
????????????if?(listenerBackHandler.param.isRun)?{
????????????????WeixinJSBridge.call('closeWindow');
????????????}
????????},?false);
????},
????//初始化返回事件
????initBack:?function?()?{
????????window.addEventListener('pageshow',?function?()?{
????????????listenerBackHandler.param.isRun?=?false;
????????????setTimeout(function?()?{?listenerBackHandler.param.isRun?=?true;?},?100);?//延遲1秒?防止微信返回立即執(zhí)行popstate事件
????????????listenerBackHandler.listenerBack();
????????});
????}
}
listenerBackHandler.initBack();?
針對(duì)IOS微信端popstate自動(dòng)觸發(fā)的解決是用延遲100毫秒來做的處理