history.back / forward / go în JavaScript

Fereastra și navigarea Toate browserele

Navighează înapoi sau înainte în istoricul filei, ca butoanele browserului.

Sintaxă
history.back()
history.forward()
history.go(pasi)

Ce face history.back / forward / go

back() face același lucru ca butonul Înapoi, forward() ca butonul Înainte, iar go(n) sare n pași (negativ înapoi, pozitiv înainte; go(0) reîncarcă pagina). Numărul de intrări din istoricul filei este în history.length.

Navigarea este asincronă: codul de după apel continuă, iar schimbarea apare în evenimentul popstate (sau prin încărcarea altei pagini).

Parametri

Parametru Descriere
pasi Pentru go: numărul de pași, negativ pentru înapoi.

Ce returnează

undefined.

Exemple

Exemplul 1: Un buton „Înapoi” cu rezervă

Rezultatul pentru o aplicație cu o singură pagină, după un clic pe „Înapoi”.

document.querySelector("#inapoi").addEventListener("click", () => {
  if (history.length > 1) history.back();
  else location.href = "/";
});

window.addEventListener("popstate", () => console.log("acum la", location.pathname));

Rezultat în browser

acum la /produse/

Greșeli frecvente

  • Te aștepți ca history.back() să fi schimbat deja pagina pe rândul următor. Navigarea are loc mai târziu.

Comenzi înrudite