The entries() method of the Navigation interface returns an array of NavigationHistoryEntry objects representing all existing history entries.
entries()None.
An array of NavigationHistoryEntry objects.
None.
let numOfEntries = navigation.entries().length - 1;A page-supplied "back" button can take you back, even after reload, by inspecting the previous history entries:
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" });
}
});