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.

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