Работа с URL в JavaScript
В 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