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ă.