js移动端回退监听 popstate

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>监听移动端回退事件</title>
</head>

<body>
    <script>
    /**
       * 在微信中进入页面就触发了popstate事件
       * 解决方法:定义boolean 
       * 变量bool=false。在页面加载后,采用setTimeout方法设置1.5s的超时,在超时执行方法中设置bool=true。
       * 在popstate监听当中增加对bool的判断,当bool=true时,执行内容
    **/
    window.onload = function() {
        // pushHistory();
        var bool = false;
        setTimeout(function() {
            bool = true;
        }, 1500);
        window.addEventListener("popstate", function(e) {
            if (bool) {
                alert("我监听到了浏览器的返回按钮事件啦"); //根据自己的需求实现自己的功能  
            }
            // pushHistory();

        }, false);
    }
    // 自己做的回退事件
    function pushHistory() {
        var state = {
            title: "title",
            url: "#"
        };
        window.history.pushState(state, "title", "#");
    }
    </script>
</body>

</html>

 

posted @ 2019-07-10 11:08  qixianchuan  阅读(2410)  评论(0)    收藏  举报