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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
go

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also