Рад са URL-ом у JavaScript-у

У JavaScript-у понекад је потребно радити са адресама линкова. За то је намењена класа URL, која омогућава да се добију и мењају делови адреса.

Погледајмо рад са њом на примеру следеће адресе:

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

Направимо објекат класе URL, проследивши му параметром нашу адресу:

javascriptlet url = new URL(path);

Да видимо које особине има направљени објекат.

Протокол

Помоћу особине protocol може се добити протокол:

javascriptlet res = url.protocol;
console.log(res); // исписаће 'http://'

Хост

Помоћу особине host може се добити име домена са портом:

javascriptlet res = url.host;
console.log(res); // исписаће 'site.ru:3000'

Име хоста

Помоћу особине hostname може се добити име домена:

javascriptlet res = url.hostname;
console.log(res); // исписаће 'site.ru'

Порт

Помоћу особине port може се добити порт:

javascriptlet res = url.port;
console.log(res); // исписаће '3000'

Пут

Помоћу особине pathname може се одбацити име домена, добивши пут:

javascriptlet res = url.pathname;
console.log(res); // исписаће '/dir/eee/page.html#show?a=1&b=2&c=3'

Хеш

Помоћу особине hash може се добити вредност хеша:

javascriptlet res = url.hash;
console.log(res); // исписаће 'show'

GET параметри

Помоћу особине search може се добити стринг GET параметара:

javascriptlet res = url.search;
console.log(res); // исписаће 'a=1&b=2&c=3'

Помоћу особине searchParams може се добити GET параметри у виду објекта класе URLSearchParams:

javascriptlet res = url.searchParams;
console.log(res); // исписаће објекат класе URLSearchParams