Trabajo con URL en JavaScript
En JavaScript, a veces es necesario trabajar con
direcciones de enlaces. Para ello, está diseñada la clase
URL, que permite obtener y modificar
partes de las direcciones.
Veamos su funcionamiento con el ejemplo de la siguiente dirección:
let path = 'http://site.ru:3000/dir/eee/page.html#show?a=1&b=2&c=3';
Creemos un objeto de la clase URL, pasándole
como parámetro nuestra dirección:
let url = new URL(path);
Veamos qué propiedades tiene el objeto creado.
Protocolo
Usando la propiedad protocol se puede obtener
el protocolo:
let res = url.protocol;
console.log(res); // mostrará 'http://'
Host
Usando la propiedad host se puede obtener
el nombre del dominio con el puerto:
let res = url.host;
console.log(res); // mostrará 'site.ru:3000'
Nombre del host
Usando la propiedad hostname se puede obtener
el nombre del dominio:
let res = url.hostname;
console.log(res); // mostrará 'site.ru'
Puerto
Usando la propiedad port se puede obtener el puerto:
let res = url.port;
console.log(res); // mostrará '3000'
Ruta
Usando la propiedad pathname se puede
descartar el nombre del dominio, obteniendo la ruta:
let res = url.pathname;
console.log(res); // mostrará '/dir/eee/page.html#show?a=1&b=2&c=3'
Hash
Usando la propiedad hash se puede obtener
el valor del hash:
let res = url.hash;
console.log(res); // mostrará 'show'
Parámetros GET
Usando la propiedad search se puede obtener
la cadena de parámetros GET:
let res = url.search;
console.log(res); // mostrará 'a=1&b=2&c=3'
Usando la propiedad searchParams se puede
obtener los parámetros GET en forma de objeto de la clase
URLSearchParams:
let res = url.searchParams;
console.log(res); // mostrará un objeto de la clase URLSearchParams