Readplace

History - Web APIs | MDN

MDN Web Docs 3 min read
View original
  • current
Summary (TL;DR)
The History interface lets you interact with the browser's session history. It has two read-only properties: length (number of entries including the current page) and state (the current state value). scrollRestoration can be set to auto or manual. Methods include back(), forward(), and go() to navigate, plus pushState() and replaceState() to add or modify history entries with serialized data. All browsers except Safari ignore the title parameter.

Instance properties

The History interface doesn't inherit any property.

length Read only

Returns an Integer representing the number of elements in the session history, including the currently loaded page. For example, for a page loaded in a new tab this property returns 1.

scrollRestoration

Allows web applications to explicitly set default scroll restoration behavior on history navigation. This property can be either auto or manual.

state Read only

Returns an any value representing the state at the top of the history stack. This is a way to look at the state without having to wait for a popstate event.

Instance methods

The History interface doesn't inherit any methods.

back()

This asynchronous method goes to the previous page in session history, the same action as when the user clicks the browser's Back button. Equivalent to history.go(-1).

Calling this method to go back beyond the first page in the session history has no effect and doesn't raise an exception.

forward()

This asynchronous method goes to the next page in session history, the same action as when the user clicks the browser's Forward button; this is equivalent to history.go(1).

Calling this method to go forward beyond the most recent page in the session history has no effect and doesn't raise an exception.

go()

Asynchronously loads a page from the session history, identified by its relative location to the current page, for example -1 for the previous page or 1 for the next page. If you specify an out-of-bounds value (for instance, specifying -1 when there are no previously-visited pages in the session history), this method silently has no effect. Calling go() without parameters or a value of 0 reloads the current page.

pushState()

Pushes the given data onto the session history stack with the specified title (and, if provided, URL). The data is treated as opaque by the DOM; you may specify any JavaScript object that can be serialized. Note that all browsers but Safari currently ignore the title parameter. For more information, see Working with the History API.

replaceState()

Updates the most recent entry on the history stack to have the specified data, title, and, if provided, URL. The data is treated as opaque by the DOM; you may specify any JavaScript object that can be serialized. Note that all browsers but Safari currently ignore the title parameter. For more information, see Working with the History API.

Specifications

Specification
HTML
# the-history-interface

Browser compatibility

See also

Help improve MDN

Was this page helpful to you?

Yes No

Learn how to contribute

This page was last modified on by MDN contributors.