Saltar al contenido

URL

Análisis de URL, componentes y parámetros de búsqueda sincronizados.

En esta página
const url = new URL("https://user:pw@example.com:8080/a?x=1#frag");
url.host;     // "example.com:8080"
url.pathname; // "/a"
url.origin;   // "https://example.com:8080"

new URL(input, base?) lanza TypeError si el análisis falla. URL.parse(input, base?) devuelve en cambio null, y URL.canParse(input, base?) devuelve un booleano.

Componentes

Los componentes modificables son href, protocol, username, password, host, hostname, port, pathname, search y hash. origin y searchParams son atributos de solo lectura.

Los nombres de host se normalizan con IDNA y los literales IPv6 conservan los corchetes.

new URL("https://日本.jp/").hostname; // "xn--wgv71a.jp"
new URL("http://[::1]:9000/").host;  // "[::1]:9000"

La mayoría de las asignaciones de componentes no válidas se ignoran. Asignar un href no válido lanza TypeError. Los puertos predeterminados se serializan como un port vacío.

Parámetros de búsqueda sincronizados

const url = new URL("https://example.com/?a=1");
const params = url.searchParams;

params.append("b", "2");
url.href; // "https://example.com/?a=1&b=2"

url.search = "?c=3";
params.toString(); // "c=3"

En cada acceso se devuelve el mismo objeto URLSearchParams.

Véase también

Reference

Status: Full · 8,682 of 9,046 suite tests pass (96.0%) · since 1.1.0

Exports

ExportKindStatusNotes
URLclassFullURL.parse(), URL.canParse(), href, origin, protocol, username, password, host, hostname, port, pathname, search, searchParams, hash, toJSON()
URLSearchParamsclassFullsize, append(), delete(), get(), getAll(), has(), set(), sort(), iteration

Tests: wpt-wintertc url: 8,682 pass, 364 fail, 0 error, 2,251 skipped. Failing: url/toascii.window.js (298), url/IdnaTestV2.any.js (30), url/url-constructor.any.js (12), url/url-setters.any.js (12), url/urlsearchparams-constructor.any.js (6), url/urlencoded-parser.any.js (2), url/idlharness.any.js, url/url-origin.any.js, and 2 more.

¿Te resultó útil esta página?