浏览器回退事件的监听:
当前所进行的处理是点击返回时关闭页面
同时对ios微信端popstate自动触发的bug做了处理
代码如下:
/**
?*?浏览器回退事件监听
?*/
var?listenerBackHandler?=?{
????param:?{
????????isRun:?false,?//防止微信返回立即执行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秒?防止微信返回立即执行popstate事件
????????????listenerBackHandler.listenerBack();
????????});
????}
}
listenerBackHandler.initBack();?
针对IOS微信端popstate自动触发的解决是用延迟100毫秒来做的处理