監聽物理返回鍵時要注意不能在首頁(第一次進入時,監聽無效)直接操作,
正確方式:有第二次操作時,例如:從首頁跳轉到個人中心頁面在跳到首頁,監聽有效
附代碼:
pushHistory(); var flag = false; setTimeout(function() { flag = true; }, 1000) window.addEventListener('popstate', function(e) { if(flag) { alert(1) } pushHistory(); }, false); function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#"); }
研究之後,感覺定時器沒沒有用處,經處理之後代碼如下
pushHistory(); window.addEventListener("popstate", function(e) { alert("2"); }, false); function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#"); }解決了首次登錄無法監聽物理返回鍵的問題!!!