您好,登錄后才能下訂單哦!
這篇文章主要介紹了html5中如何實現pushstate以及監聽瀏覽器返回事件,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
pushstate與監聽瀏覽器返回解決的問題
1.實際開發我們在A頁面調用組件,在組件里面填好內容之后,發現想退出不想填了,因為組件與A頁面此時在同一頁面,點擊返回時候 給人感覺是返回上上個頁面,但之前A頁面填寫的東西 都沒有了,這很影響體驗。
因此可以使用pushstate方法,不刷新瀏覽器改變url 當你再返回時候就會返回到這個A頁面而不是上上個頁面。但此時還需要監聽返回的按鈕,進而控制組件的顯示與隱藏。這點也至關重要。不然組件不隱藏,也就相當于沒效果。
pushState
使用方法(一般情況)
function pushHistory() { var state = { title: "title", url: "#" }; window.history.pushState(state, "title", "#"); }
參數說明:
pushState() 帶有三個參數:state是js對象,title是個標題(現在被忽略了),以及一個可選的URL地址。
關于pushstate的說明
瀏覽器不會向服務端請求數據,直接改變url地址,可以類似的理解為變相版的hash;但不像hash一樣,瀏覽器會記錄pushState的歷史記錄,可以使用瀏覽器的前進、后退功能作用。
監聽瀏覽器返回按鈕
window.addEventListener("popstate", function(e) { console.log(e); alert("我監聽到了瀏覽器的返回按鈕事件啦");//根據自己的需求實現自己的功能 }, false);
感謝你能夠認真閱讀完這篇文章,希望小編分享的“html5中如何實現pushstate以及監聽瀏覽器返回事件”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。