В JavaScript иногда приходится работать с
адресами ссылок. Для этого предназначен класс
URL
, позволяющий получать и изменять
части адресов.
Посмотрим работу с ним на примере следующего адреса:
let path = 'http://site.ru:3000/dir/eee/page.html#show?a=1&b=2&c=3';
Создадим объект класса URL
, передав
ему параметром наш адрес:
let url = new URL(path);
Давайте посмотрим, какие свойства есть у созданного объекта.
Протокол
С помощью свойства protocol
можно получить
протокол:
let res = url.protocol;
console.log(res); // выведет 'http://'
Хост
С помощью свойства host
можно получить
имя домена с портом:
let res = url.host;
console.log(res); // выведет 'site.ru:3000'
Имя хоста
С помощью свойства hostname
можно получить
имя домена:
let res = url.hostname;
console.log(res); // выведет 'site.ru'
Порт
С помощью свойства port
можно получить порт:
let res = url.port;
console.log(res); // выведет '3000'
Путь
С помощью свойства pathname
можно получить
отбросить имя домена, получив путь:
let res = url.pathname;
console.log(res); // выведет '/dir/eee/page.html#show?a=1&b=2&c=3'
Хеш
С помощью свойства hash
можно получить
значение хеша:
let res = url.hash;
console.log(res); // выведет 'show'
GET параметры
С помощью свойства search
можно получить
строку GET параметров:
let res = url.search;
console.log(res); // выведет 'a=1&b=2&c=3'
С помощью свойства searchParams
можно
получить GET параметры в виде объекта класса
URLSearchParams
:
let res = url.searchParams;
console.log(res); // выведет объект класса URLSearchParams