History: go() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The go() method of the History interface loads a specific page from the session history. You can use it to move forwards and backwards through the history depending on the value of a parameter.

This method is asynchronous. Add a listener for the popstate event in order to determine when the navigation has completed.

Syntax

js
go()
go(delta)

Parameters

delta Optional

The position in the history to which you want to move, relative to the current page. A negative value moves backwards, a positive value moves forwards. So, for example, history.go(2) moves forward two pages and history.go(-2) moves back two pages. If no value is passed or if delta equals 0, it has the same result as calling location.reload().

Return value

None (undefined).

Exceptions

SecurityError DOMException

Thrown if the associated document is not fully active. Browsers also throttle navigations and may throw this error, generate a warning, or ignore the call if it's called too frequently.

Examples

To move back one page (the equivalent of calling back()):

js
history.go(-1);

To move forward a page, just like calling forward():

js
history.go(1);

To move forward two pages:

js
history.go(2);

To move backwards by two pages:

js
history.go(-2);

And finally, either of the following statements will reload the current page:

js
history.go();
history.go(0);

Specifications

Specification
HTML Standard
# dom-history-go-dev

Browser compatibility

BCD tables only load in the browser

See also