監聽瀏覽器返回,上一頁事件


在WebApp或瀏覽器中,會有點擊返回、后退、上一頁等按鈕實現自己的關閉頁面、調整到指定頁面、確認離開頁面或執行一些其它操作的需求。可以使用 popstate 事件進行監聽返回、后退、上一頁操作。

  一、簡單介紹 history 中的操作

    1.window.history.back(),后退

    2.window.history.forward(),前進

    3.window.history.go(num),前進或后退指定數量歷史記錄

    4.window.history.pushState(state, title, utl),在頁面中創建一個 history 實體。直接添加到歷史記錄中。

      參數:  state:存儲一個對象,可以添加相關信息,可以使用 history.state 讀取其中的內容。

           title:歷史記錄的標題。

           url:創建的歷史記錄的鏈接。進行歷史記錄操作時會跳轉到該鏈接。

    5.window.history.replaceState(),修改當前的 history 實體。

    6.popstate 事件,history 實體改變時觸發的事件。

    7.window.history.state,會獲得 history 實體中的 state 對象。

  二、使用方法

    取消默認的返回操作:

    1.添加一條 history 實體作為替代原來的 history 實體

    function pushHistory(){
      var state = {
           title: "title",
           url: "#"     
        }
      window.history.pushState(state, "title", "#");   
    }
    pushHistory()
  2.監聽 popstate 事件

    window.addEventListener("popstate", function(){

          location.reload();

    }, false)

  當網頁加載時,各瀏覽器對popstate事件是否觸發有不同的表現,Chrome 和 Safari會觸發popstate事件, 導致頁面反復刷新,而Firefox不會.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM