获取微信返回事件时的感悟

最新一个项目要开发微信公众号的内容,有一个需求是获取返回按钮点击事件在其点击时跳转到特定的页面,可是微信的返回按钮只是相当执行后退一步。然后看了一篇文章很多人都不知道的监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法,看到了写法
$(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()



猜你喜欢

转载自blog.csdn.net/baidu_34197758/article/details/74287543