千鋒教育JavaScript全套視頻教程(10天學(xué)會(huì)Js,前端javascrip

History 對(duì)象包含用戶(在瀏覽器窗口中)訪問(wèn)過(guò)的 URL,它是 window 對(duì)象的一部分,可通過(guò) window.history 屬性對(duì)其進(jìn)行訪問(wèn)。history對(duì)象在前端應(yīng)用中至關(guān)重要,所有單頁(yè)應(yīng)用的路由都是基于history對(duì)象。
history對(duì)象有三個(gè)屬性,分別為length、state、scrollRestoration。
length:返回瀏覽器歷史列表中的 URL 數(shù)量。
scrollRestoration: 滾動(dòng)恢復(fù)屬性允許web應(yīng)用程序在歷史導(dǎo)航上顯式地設(shè)置默認(rèn)滾動(dòng)恢復(fù)行為。該屬性有兩個(gè)可選值,默認(rèn)為auto,將恢復(fù)用戶已滾動(dòng)到的頁(yè)面上的位置。另一個(gè)值為:manual,不還原頁(yè)上的位置,用戶必須手動(dòng)滾動(dòng)到該位置。
state:返回一個(gè)表示歷史堆棧頂部的狀態(tài)的值,這是一種可以不必等待popstate事件而查看狀態(tài)的方式。
history對(duì)象有五個(gè)方法,分別是history.pushState、replaceState、forward(),backward()和go();
history.pushState(object, title, url)方法接受三個(gè)參數(shù),object 為隨著狀態(tài)保存的一個(gè)對(duì)象,title為新頁(yè)面的標(biāo)題,url為新的網(wǎng)址。
replaceState(object, title, url) 與pushState的唯一區(qū)別在于該方法是替換掉history棧頂元素。
history.go(x) 去到對(duì)應(yīng)的url歷史記錄。
history.back() 相當(dāng)于瀏覽器的后退按鈕。
history.forward() 相當(dāng)于瀏覽器的前進(jìn)按鈕。