在做報表開發時遇到問題:由第一層數據下鑽到下一層,是在一個文件中開發,通過顯示隱藏來控制,下鑽到第二層后通過返回按鈕來返回第一層,現根據業務需求調整,不能顯示返回按鈕,需通過瀏覽器的后退來返回到數據的第一層。
處理這個問題,首先要在下鑽時,向瀏覽器的history插入一條記錄,保證點擊瀏覽器后退時,仍然在本文件中,而不是跳走了。其次,要監聽瀏覽器的后退操作,處理頁面顯示隱藏邏輯。
1.使用pushState增加一個本頁的url
function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#"); }
2.通過popstate
監聽來處理邏輯
window.addEventListener("popstate", function(e) { alert("我監聽到了瀏覽器的返回按鈕事件啦");//根據自己的需求實現自己的功能 }, false);