Práce s URL v JavaScriptu

V JavaScriptu někdy musíme pracovat s adresami odkazů. K tomu slouží třída URL, která umožňuje získávat a měnit části adres.

Podívejme se na její práci na příkladu následující adresy:

javascriptlet path = 'http://site.ru:3000/dir/eee/page.html#show?a=1&b=2&c=3';

Vytvoříme objekt třídy URL, předáním naší adresy jako parametru:

javascriptlet url = new URL(path);

Podívejme se, jaké vlastnosti má vytvořený objekt.

Protokol

Pomocí vlastnosti protocol lze získat protokol:

javascriptlet res = url.protocol;
console.log(res); // vypíše 'http://'

Hostitel

Pomocí vlastnosti host lze získat název domény s portem:

javascriptlet res = url.host;
console.log(res); // vypíše 'site.ru:3000'

Název hostitele

Pomocí vlastnosti hostname lze získat název domény:

javascriptlet res = url.hostname;
console.log(res); // vypíše 'site.ru'

Port

Pomocí vlastnosti port lze získat port:

javascriptlet res = url.port;
console.log(res); // vypíše '3000'

Cesta

Pomocí vlastnosti pathname lze odstranit název domény a získat cestu:

javascriptlet res = url.pathname;
console.log(res); // vypíše '/dir/eee/page.html#show?a=1&b=2&c=3'

Hash

Pomocí vlastnosti hash lze získat hodnotu hashe:

javascriptlet res = url.hash;
console.log(res); // vypíše 'show'

GET parametry

Pomocí vlastnosti search lze získat řetězec GET parametrů:

javascriptlet res = url.search;
console.log(res); // vypíše 'a=1&b=2&c=3'

Pomocí vlastnosti searchParams lze získat GET parametry ve formě objektu třídy URLSearchParams:

javascriptlet res = url.searchParams;
console.log(res); // vypíše objekt třídy URLSearchParams