Navigation: entries() method

Baseline 2026
Newly available

Since ⁨January 2026⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

The entries() method of the Navigation interface returns an array of NavigationHistoryEntry objects representing all existing history entries.

Syntax

js
entries()

Parameters

None.

Return value

An array of NavigationHistoryEntry objects.

Exceptions

None.

Examples

Return the number of entries in the history

js
let numOfEntries = navigation.entries().length - 1;

A smart back button

A page-supplied "back" button can take you back, even after reload, by inspecting the previous history entries:

js
backButtonEl.addEventListener("click", () => {
  if (
    navigation.entries()[navigation.currentEntry.index - 1]?.url ===
    "/product-listing"
  ) {
    navigation.back();
  } else {
    // If the user arrived here in some other way
    // e.g. by typing the URL directly:
    navigation.navigate("/product-listing", { history: "replace" });
  }
});

Specifications

Specification
HTML
# dom-navigation-entries-dev

Browser compatibility

See also