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>
相關文章
相關標籤/搜索