JS监听、⽀付宝等移动app及浏览器的返回、后退、
上⼀页按钮的事件⽅法
在实际的应⽤中,我们常常需要实现在移动app和浏览器中点击返回、后退、上⼀页等按钮实现⾃⼰的关闭页⾯、调整到指定页⾯或执⾏⼀些其它操作的需求,那在代码中怎样监听当点击、⽀付宝、百度糯⽶、百度钱包等app的返回按钮或者浏览器的上⼀页或后退按钮的事件呢。
我相信很多朋友像我⼀样,在百度、搜狗⾥⾯搜索很久都没到⽅法。
下⾯就来告诉⼤家怎样监听的⽅法:
⾸先我们要了解浏览器的history。
⼤家知道在页⾯中我们可以使⽤javascript window history,后退到前⾯页⾯,但是由于安全原因javascript不允许修改history ⾥已有的url链接,但可以使⽤pushState⽅法往history⾥增加url链接,并且提供popstate事件监测从history栈⾥弹出url。既然有提供popstate事件监测,那么我们就可以进⾏监听。
返回、后退、上⼀页按钮点击监听实现代码:
window.addEventListener("popstate", function(e) {
alert("我监听到了浏览器的返回按钮事件啦");//根据⾃⼰的需求实现⾃⼰的功能
}, false);
支付宝3月1日新规虽然我们监听到了后退事件,但是页⾯还是会返回上⼀个页⾯,所以我们需要使⽤pushState增加⼀个本页的url,代表本页,⼤家都⾮常清楚是#
function pushHistory() {
var state = {
title: "title",
url: "#"
};
window.history.pushState(state, "title", "#");
}
当进⼊该页⾯,我们就给这个history压⼊⼀个本地的连接。当点击返回、后退及上⼀页的操作时,就进⾏监听,在监听代码中实现⾃⼰操作。
下⾯是完整的代码:
$(function(){
pushHistory();
window.addEventListener("popstate", function(e) {
alert("我监听到了浏览器的返回按钮事件啦");//根据⾃⼰的需求实现⾃⼰的功能
}, false);
function pushHistory() {
var state = {
title: "title",
url: "#"
};
window.history.pushState(state, "title", "#");
}
});
以上内容只是⼩编给⼤家列出的核⼼代码,⼤家根据需求适当的添加,修改,删除代码。如果⼤家在参考本段代码的过程中发现有任何疑问欢迎给我留⾔,⼩编会及时回复⼤家的!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论