天天看點

History對象

History對象

History

對象允許操作浏覽器的曾經在标簽頁或者架構裡通路的會話曆史記錄。

屬性

  • history.length

    : 隻讀,傳回一個整數,該整數表示會話曆史中元素的數目,包括目前加載的頁,例如在一個新的頁籤加載的一個頁面中,這個屬性傳回

    1

  • history.scrollRestoration

    : 允許

    Web

    應用程式在曆史導航上顯式地設定預設滾動恢複行為,此屬性可以是自動的

    auto

    或者手動的

    manual

  • history.state

    隻讀,傳回一個表示曆史堆棧頂部的狀态的值,這是一種可以不必等待

    popstate

    事件而檢視狀态的方式。

方法

  • history.back()

    :

    history.back()

    在浏覽器曆史記錄裡前往上一頁,使用者可點選浏覽器左上角的傳回

    按鈕模拟此方法,等價于

    history.go(-1)

    ,當浏覽器會話曆史記錄處于第一頁時調用此方法沒有效果,而且也不會報錯。
  • history.forward()

    history.forward()

    在浏覽器曆史記錄裡前往下一頁,使用者可點選浏覽器左上角的前進

    history.go(1)

    ,當浏覽器曆史棧處于最頂端時,目前頁面處于最後一頁時調用此方法沒有效果也不報錯。
  • history.go()

    history.go(N)

    通過目前頁面的相對位置從浏覽器曆史記錄即會話記錄加載頁面,比如參數為

    -1

    的時候為上一頁,參數為

    1

    的時候為下一頁,當整數參數超出界限時,例如如果目前頁為第一頁,前面已經沒有頁面了,此時如果傳參的值為

    -1

    ,那麼這個方法沒有任何效果也不會報錯,調用沒有參數的

    go()

    方法或者不是整數的參數時也沒有效果,這點與支援字元串作為

    url

    參數的

    IE

    有點不同。
  • history.pushState()

    history.pushState(state, title[, url])

    該方法向目前浏覽器會話的曆史堆棧中添加一個狀态

    state

    ,其按指定的名稱和

    URL

    (如果提供該參數)将資料

    push

    進會話曆史棧,資料被

    DOM

    進行不透明處理,你可以指定任何可以被序列化的

    JavaScript

    對象。
  • history.replaceState()

    history.replaceState(stateObj, title[, url])

    該方法修改目前曆史記錄實體,按指定的資料、名稱和

    URL

    (如果提供該參數),更新曆史棧上最新的入口,這個資料被

    DOM

    進行了不透明處理,你可以指定任何可以被序列化的

    JavaScript

每日一題

https://github.com/WindrunnerMax/EveryDay
           

參考

https://developer.mozilla.org/zh-CN/docs/Web/API/History
           
上一篇: Element對象
下一篇: Navigator對象