因为Android不支持openWin中的slidBackEnabled:
类型:布尔
默认值:true
描述:(可选项)是否支持滑动返回。iOS7.0及以上系统中,在新打开的页面中向右滑动,可以返回到上一个页面,该字段只 iOS 有效;
所以利用touchstart、touchend事件捕捉用户手势,比较单纯,有更好办法的同志希望能留言指导指导,小生在此谢过!
我的代码:
document.addEventListener('touchstart',function(e){
_location.startX = e.clientX || e.targetTouches[0].clientX
_location.startY = e.clientY || e.targetTouches[0].clientY
});
document.addEventListener('touchend',function(e){
_location.endX = e.clientX || e.changedTouches[0].clientX;
_location.endY = e.clientY || e.changedTouches[0].clientY;
if(Math.abs(_location.endY - _location.startY)<= 60 && _location.endX-_location.startX >= 45){ //判断条件 左右滑动距离大于60,上下小于45
if(_location.startX > 15) return; //判断条件 开始滑动点击范围距离左边大于15就取消
var flag = false;
switch (api.frameName) { // 判断是否为首页,首页不需要滑动返回
case 'me-index-frame':
flag = true;
break;
case 'home-index-frame':
flag = true;
break;
case 'college-index-frame':
flag = true;
break;
case 'task-index-frame':
flag = true;
break;
case 'forum-index-frame':
flag = true;
break;
default:
flag = false;
break;
};
if(flag) return;
window.leftBtnTap && window.leftBtnTap(); // 返回事件
}
_location = {};
})
感谢你的关注!