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
history.pushState / replaceState: Schimbă adresa din bara browserului fără reîncărcarea paginii; baza aplicațiilor cu o singură pagină.location.reload / assign / replace: Reîncarcă pagina sau navighează la altă adresă, cu sau fără păstrarea paginii curente în istoric.