back to top

Lโ€™oggetto location di Javascript

Attraverso lโ€™oggetto location รจ possibile accedere ad informazioni relativamente alla URL corrente, cioรจ la URL attualmente caricata nella finestra del browser.

Lโ€™oggetto location, come history, รจ figlio dellโ€™oggetto window da cui discende direttamente.

Pubblicitร 

Proprietร  dellโ€™oggetto location

Di seguito un elenco delle principali proprietร  supportate dallโ€™oggetto location:

  • hash โ€“ (GET/SET) restituisce o setta eventuale ancora (#) presente nella URL;
  • hostname โ€“ (GET/SET) restituisce o setta lโ€™hostname della URL;
  • href โ€“ (GET/SET) restituisce o setta lโ€™intera URL;
  • pathname โ€“ (GET/SET) restituisce o setta il path (cartella / file) della URL;
  • protocol โ€“ (GET/SET) restituisce o setta il protocollo della URL;

Qualche esempio:

// estraggo l'ancora di una url come questa:
// /pagina.html#javascript
document.write(location.hash);

// estraggo l'hostname dalla URL corrente
document.write(location.hostname);

// estraggo l'intera URL
document.write(location.href);

// faccio un redirect utilizzando location.href
function vai() {
  location.href = '/';
}    

Metodi dellโ€™oggetto location

  • assign() โ€“ carica una nuova URL allโ€™interno della finestra
  • reload() โ€“ ricarica la pagina corrente;
  • replace() โ€“ sostituisce la URL corrente con una nuova;

Qualche esempio:

// carico una nuova URL
location.assign('/');

// ricarico la pagina corrente
location.reload();

// sostituisco la URL corrente con una nuova URL
location.replace('/');

A prima vista i metodi asign() e replace() potrebbero apparire identici in realtร  vi รจ una differenza rilevante: con il primo viene caricata una nuova URL (e quella precedente resta nella cronologia) mentre col secondo la URL corrente viene sostituita (e pertanto non รจ piรน raggiungibile attraverso il tasto "back").

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).