Работа з 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