全方位解析JavaScript中的history對象

一、history對象的方法

history對象主要有兩種方法: back() 和 forward(),用於控制歷史記錄的後退和前進。


// 後退一頁
history.back();

// 前進一頁
history.forward();

另外還有一個方法叫做 go(),可以通過傳入一個參數來控制歷史記錄的移動。如果參數是正數,相當於執行 forward() 方法,負數相當於執行 back() 方法。


// 前進兩頁
history.go(2);

// 後退一頁
history.go(-1);

二、history對象屬性屬於下列

history對象屬性有三項:length、state和scrollRestoration。

length 屬性表示歷史記錄的數量,也就是可以通過 back() 和 forward() 方法來移動的步數。


console.log(history.length);

state 屬性是 HTML5 中新增的,用於存儲當前會話的狀態。可以通過 pushState() 和 replaceState() 方法來更新該屬性。


// 設置當前狀態
history.pushState({page: 1}, "title 1", "?page=1");

// 替換當前狀態
history.replaceState({page: 2}, "title 2", "?page=2");

scrollRestoration 屬性用於控制頁面在歷史記錄後退或前進時的滾動行為。可以有兩個取值: 「auto」 和 「manual」。


// 設置屬性為 "manual"
history.scrollRestoration = "manual";

三、history對象的屬性或方法

history對象還有一個方法 called pushState(),這個方法可以向歷史記錄中添加一條新的狀態。它有三個參數: state、title 和 url。其中,state 是一個 JavaScript 對象,用於存儲當前頁面的相關狀態信息,title 是一個字元串,表示新狀態的標題,url 是一個字元串,表示新狀態的地址。


history.pushState({page: 3}, "title 3", "?page=3");

四、history對象的父對象

history對象沒有父對象。

五、history對象怎麼訪問

history對象可以通過 window.history 來訪問。


console.log(window.history);

六、history對象的一個屬性

history對象的一個屬性是 current 屬性,它指向當前頁面在歷史記錄中的位置。


console.log(history.current);

七、history對象的作用

history對象主要用於控制瀏覽器的歷史記錄,可以通過 back()、forward() 和 go() 方法來回退和前進歷史記錄,也可以通過 pushState() 和 replaceState() 方法來添加和替換歷史記錄中的狀態。

八、history對象常用方法及作用

常用方法已經在前面介紹過了。

九、history對象用於載入歷史列表

history對象可以用於載入歷史記錄列表,可以通過循環 history.length 屬性來實現。下面是一個例子,通過點擊鏈接來載入歷史記錄中的狀態。


for (var i = 0; i " + title + "</a>");
}

function loadPage(index) {
  history.go(index - history.current);
}

十、history對象的什麼可獲取url數量

history對象的 length 屬性可以獲取歷史記錄的數量。

本文從history對象的方法、屬性、訪問、使用等方面,全方位解析了JavaScript中的history對象。希望本文能夠幫助讀者更好地理解history對象的作用,為開發WEB項目提供更好的幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/156868.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-18 01:58
下一篇 2024-11-18 01:58

相關推薦

發表回復

登錄後才能評論