location.reload / assign / replace în JavaScript

Fereastra și navigarea Toate browserele

Reîncarcă pagina sau navighează la altă adresă, cu sau fără păstrarea paginii curente în istoric.

Sintaxă
location.reload()
location.assign(url)
location.replace(url)

Ce face location.reload / assign / replace

location.reload() reîncarcă pagina curentă. location.assign(url) deschide altă adresă, exact ca location.href = url, iar pagina curentă rămâne în istoric. location.replace(url) o înlocuiește în istoric, deci butonul Înapoi nu mai duce la ea; este potrivit pentru redirecționări după autentificare.

Obiectul location are și părțile adresei curente: href, pathname, search, hash, origin.

Parametri

Parametru Descriere
url Pentru assign și replace: adresa nouă (relativă sau absolută).

Ce returnează

undefined.

Exemple

Exemplul 1: Redirecționare după autentificare

Pagina se schimbă apoi în /cos/, iar butonul Înapoi nu mai revine la formularul de autentificare.

console.log(location.pathname, location.search);

const inapoi = new URLSearchParams(location.search).get("revino") ?? "/cont/";
if (inapoi.startsWith("/") && !inapoi.startsWith("//")) {
  location.replace(inapoi);
}

Rezultat în browser

/login/ ?revino=/cos/

Greșeli frecvente

  • Redirecționezi spre o adresă luată din URL fără să verifici că este de pe site-ul tău. Un atacator poate trimite utilizatorii pe o pagină falsă (open redirect).

Comenzi înrudite

  • new URL(): Desface o adresă URL în părți (domeniu, cale, parametri) și o construiește corect la loc.
  • history.pushState / replaceState: Schimbă adresa din bara browserului fără reîncărcarea paginii; baza aplicațiilor cu o singură pagină.
  • URLSearchParams: Citește și construiește parametrii unei adrese (?pagina=2&sort=pret), cu codificare automată.