Lavorare con gli URL in JavaScript
In JavaScript a volte è necessario lavorare con
gli indirizzi dei link. A questo scopo è stata creata la classe
URL, che permette di ottenere e modificare
parti degli indirizzi.
Vediamo come funziona con il seguente esempio di indirizzo:
let path = 'http://site.ru:3000/dir/eee/page.html#show?a=1&b=2&c=3';
Creiamo un oggetto della classe URL, passandogli
come parametro il nostro indirizzo:
let url = new URL(path);
Diamo un'occhiata alle proprietà dell'oggetto creato.
Protocollo
Utilizzando la proprietà protocol è possibile ottenere
il protocollo:
let res = url.protocol;
console.log(res); // visualizzerà 'http://'
Host
Utilizzando la proprietà host è possibile ottenere
il nome del dominio con la porta:
let res = url.host;
console.log(res); // visualizzerà 'site.ru:3000'
Nome host
Utilizzando la proprietà hostname è possibile ottenere
il nome del dominio:
let res = url.hostname;
console.log(res); // visualizzerà 'site.ru'
Porta
Utilizzando la proprietà port è possibile ottenere la porta:
let res = url.port;
console.log(res); // visualizzerà '3000'
Percorso
Utilizzando la proprietà pathname è possibile
rimuovere il nome del dominio, ottenendo il percorso:
let res = url.pathname;
console.log(res); // visualizzerà '/dir/eee/page.html#show?a=1&b=2&c=3'
Hash
Utilizzando la proprietà hash è possibile ottenere
il valore dell'hash:
let res = url.hash;
console.log(res); // visualizzerà 'show'
Parametri GET
Utilizzando la proprietà search è possibile ottenere
la stringa dei parametri GET:
let res = url.search;
console.log(res); // visualizzerà 'a=1&b=2&c=3'
Utilizzando la proprietà searchParams è possibile
ottenere i parametri GET sotto forma di oggetto della classe
URLSearchParams:
let res = url.searchParams;
console.log(res); // visualizzerà un oggetto della classe URLSearchParams