<!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>