您的位置:首页 > 运维架构

浏览器返回事件监听

2017-11-02 17:02 162 查看
在进入当前页面的时候向历史站压入该页面,
当监听到返回事件就是popstate的时候,
进行对应的操作,
我们修改历史站的操作pushState不会触发popstate事件, 可见MDN.


 

  $(function(){

        pushHistory();

        var bool=false;

        setTimeout(function(){

            bool=true;

        },1000);

        window.addEventListener("popstate", function(e) {

            if(bool)

            {

                alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能

            }

        }, false);

    });

    function pushHistory() {

        var state = {

            title: "title",

            url: "#"

        };
        window.history.pushState(state, "title", "#")
 }

亲测在安卓机中当该页面中还有其他跳转链接的情况时,

再返回该页面时对应的操作会有效(但衍生出对应的一个问题,

历史站里面会多出两个你压入的历史,如果操作后再返回会出现问题),

 同时在ios中当返回该页面的时候popState事件也会触发  ,该方法有对应的使用范围, 可酌情使用,

(在B页面使用该方法时,假如B页面内有链接到C页面,c->b时在ios中会触发popState事件,)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐