微信开发的时候会遇到捕捉手机回退按钮的操作,然后指定跳到某个画面。方法虽然简单,但是有需要注意的地方,希望对大家有帮助。如下jsp脚本。
画面加载的时候调用这个方法
在下面的这个方法中需要注意的一点就是,一定要加上setTimeout()这个方法,亲测如果不加的话,在三星S6手机,苹果6手机上面点击任何按钮都是一闪或者根本没反应,这个原因是实际上画面已经跳转了,但是又监听触发了回退按钮的事件,从而看上去画面只是一闪或者根本没反应。
$(function(){
//************************
//捕捉手机回退按钮
//************************
pushHistory();
var phflag = false;
setTimeout(function() {
phflag = true;
}, 5000);
window.addEventListener("popstate", function(e) {
if (phflag) {
if ("${retFlg}" == 1) {
location.href="跳转到指定画面自己定义";
} else {
location.href="跳转到指定画面自己定义";
}
}
pushHistory();
}, false);
});
捕捉手机回退按钮方法实现
//************************
// 阻止默认返回页面
//************************
function pushHistory() {
var state = {
title : "title",
url : "#"
};
window.history.pushState(state, "title", "#");
};