在現在的網絡瀏覽器中,JavaScript 能夠處理和修改用戶的瀏覽歷史記錄,這個歷史記錄也就是通常所說的 history 列表。利用 history 你可以向前或向后的瀏覽用戶上網的頁面。
在 JavaScript 中,history 對象集成在瀏覽器窗口中,因此我們可以利用它來訪問當前窗口的歷史記錄。下面是一個簡單的例子,展示如何使用 history 對象向前和向后瀏覽歷史記錄:
function goBack() { window.history.back(); } function goForward() { window.history.forward(); }
history 對象還可以存儲和管理瀏覽器的歷史記錄。例如,我們可以使用 history 對象的 pushState() 方法來添加歷史記錄,如下所示:
history.pushState(stateObj, "page 2", "bar.html");
在此,我們利用 pushState() 向歷史記錄添加一個新條目。stateObj 是一個可以序列化的對象,代表新條目的狀態。"page 2" 是新條目的標題,"bar.html" 是新條目的 URL。這個 URL 可以為空字符串,但建議至少指定一個 URL。
類似地,我們還可以使用 replaceState() 方法來替換當前歷史記錄中的條目,例如:
history.replaceState(stateObj, "page 3", "baz.html");
在此,我們利用 replaceState() 方法將當前瀏覽的頁面更改為 "baz.html",并替換標題為 "page 3"。
最后,我們可以在 history 對象中找到當前記錄條目的一些信息。例如,history.length 屬性表示當前記錄集合中的條目數量:
var historyLength = window.history.length;
可以看出,history 對象在 JavaScript 中非常有用。我們可以使用它來管理用戶的瀏覽記錄,并提供前進或后退功能。永旭使用pushState() 和 replaceState() 方法來添加或替換歷史記錄的條目,從而使之更容易管理和查看當前記錄條目的信息。