最新一个项目要开发微信公众号的内容,有一个需求是获取返回按钮点击事件在其点击时跳转到特定的页面,可是微信的返回按钮只是相当执行后退一步。然后看了一篇文章很多人都不知道的监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法,看到了写法
之前看到这个标题就很误解,还以为是这个只针对于微信的返回按钮,后来经过对popstate的研究才发现这些都是h5新API,主要是针对于浏览器的返回按钮,也就是也适用于pc端的浏览器返回按钮,由此可知微信的返回按钮其实就相当于浏览器的返回。之前只是想测试下这个有没有用,就只是
$(function(){
pushHistory(); //这个必须在文档加载时就触发,创建出来的新的history实体
window.addEventListener("popstate", function(e) { //popstate 只有在history实体被改变时才会触发
alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能
}, false);
function pushHistory() {
var state = {
title: "title",
url: "#"
};
window.history.pushState(state, "title", "#");
}
});
之前看到这个标题就很误解,还以为是这个只针对于微信的返回按钮,后来经过对popstate的研究才发现这些都是h5新API,主要是针对于浏览器的返回按钮,也就是也适用于pc端的浏览器返回按钮,由此可知微信的返回按钮其实就相当于浏览器的返回。之前只是想测试下这个有没有用,就只是
监听了"popstate",然后发现怎么都触发不了这个监听事件,还以为是只针对微信,可是用微信测试也没触发。百思不得其解,经过多次测试,才发现必须要先创建新的history实体,否则是监听不到的!也就是一定要先写pushHistory()!