Darbas su URL JavaScript

JavaScript kartais tenka dirbti su nuorodų adresais. Tam skirta klasė URL, leidžianti gauti ir keisti adresų dalis.

Pažiūrėkime, kaip su ja dirbti, naudodami šį adresą kaip pavyzdį:

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

Sukurkime URL klasės objektą, perduodami jame mūsų adresą kaip parametrą:

javascriptlet url = new URL(path);

Pažiūrėkime, kokias savybes turi sukurtas objektas.

Protokolas

Naudojant savybę protocol galima gauti protokolą:

javascriptlet res = url.protocol;
console.log(res); // išvests 'http://'

Hostas

Naudojant savybę host galima gauti domeno vardą su prievadu:

javascriptlet res = url.host;
console.log(res); // išvests 'site.ru:3000'

Hosto vardas

Naudojant savybę hostname galima gauti domeno vardą:

javascriptlet res = url.hostname;
console.log(res); // išvests 'site.ru'

Prievadas

Naudojant savybę port galima gauti prievadą:

javascriptlet res = url.port;
console.log(res); // išvests '3000'

Kelias

Naudojant savybę pathname galima atmetus domeno vardą, gauti kelią:

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

Hešas

Naudojant savybę hash galima gauti hešo reikšmę:

javascriptlet res = url.hash;
console.log(res); // išvests 'show'

GET parametrai

Naudojant savybę search galima gauti GET parametrų eilutę:

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

Naudojant savybę searchParams galima gauti GET parametrus URLSearchParams klasės objekto pavidalu:

javascriptlet res = url.searchParams;
console.log(res); // išvests URLSearchParams klasės objektą