URL

La interfaz URL se usa para analizar, construir, normalizar y codificar las URL. Funciona proporcionando propiedades que le permiten leer y modificar fácilmente los componentes de una URL.

Normalmente creas un nuevo objeto URL especificando la URL como una cadena cuando llamas a su constructor, o proporcionando una URL relativa y una URL base. A continuación, puede leer fácilmente los componentes analizados de la URL o realizar cambios en la URL.

Si un navegador aún no es compatible con el constructor URL(), puede acceder a un objeto de URL usando la propiedad domxref("URL")}} de la interfaz Window. Asegúrese de verificar si alguno de sus navegadores de destino requiere que esto tenga un prefijo.

Nota: Esta característica está disponible en Web Workers.

Constructor

URL()

Crea y devuelve un objeto URL que hace referencia a la URL especificada utilizando una cadena de URL absoluta o una cadena de URL relativa y una cadena de URL base.

Propiedades de instancia

hash (en-US)

Una cadena que contiene un '#' seguido del identificador de fragmento de la URL.

host

Una cadena que contiene el dominio (que es el hostname) seguido de (si se especificó un puerto) un ':' y el puerto de la URL.

hostname (en-US)

Una cadena que contiene el dominio de la URL.

href (en-US)

Un stringifier (en-US) que devuelve una cadena que contiene la URL completa.

origin (en-US) Read only

Devuelve una cadena que contiene el origen de la URL, es decir, su esquema, su dominio y su puerto.

password (en-US)

Una cadena que contiene la contraseña especificada antes del nombre de dominio.

pathname (en-US)

Una cadena que contiene un '/' inicial seguido de la ruta de la URL, sin incluir la cadena de consulta o el fragmento.

port

Una cadena que contiene el número de puerto de la URL.

protocol (en-US)

Una cadena que contiene el esquema de protocolo de la URL, incluido el ':' final.

search (en-US)

Una cadena que indica la cadena de parámetros de la URL; si se proporciona algún parámetro, esta cadena los incluye a todos, comenzando con el carácter ? inicial.

searchParams (en-US) Read only

Un objeto URLSearchParams que se puede usar para acceder a los parámetros de consulta individuales que se encuentran en la búsqueda.

username (en-US)

Una cadena que contiene el nombre de usuario especificado antes del nombre de dominio.

Métodos estáticos

canParse() (en-US)

Devuelve un valor booleano que indica si una URL definida a partir de una cadena de URL y una cadena de URL base opcional es analizable y válida.

createObjectURL()

Devuelve una cadena que contiene una URL de un blob única, es decir, una URL con blob: como esquema, seguida de una cadena opaca que identifica de forma única el objeto en el navegador.

revokeObjectURL() (en-US)

Revoca una URL de objeto creada previamente usando URL.createObjectURL().

Métodos de instancia

toString() (en-US)

Devuelve una cadena que contiene la URL completa. Es un sinónimo de URL.href (en-US), aunque no se puede usar para modificar el valor.

toJSON() (en-US)

Devuelve una cadena que contiene la URL completa. Devuelve la misma cadena que la propiedad href.

Notas de uso

El constructor toma un parámetro url y un parámetro base opcional para usar como base si el parámetro url es una URL relativa:

js
const url = new URL("../cats", "http://www.example.com/dogs");
console.log(url.hostname); // "www.example.com"
console.log(url.pathname); // "/cats"

El constructor generará una excepción si la URL no se puede analizar como una URL válida. Puede llamar al código anterior en un bloque try...catch o usar el método estático canParse() (en-US) para comprobar primero que la URL es válida:

js
if (URL.canParse("../cats", "http://www.example.com/dogs")) {
  const url = new URL("../cats", "http://www.example.com/dogs");
  console.log(url.hostname); // "www.example.com"
  console.log(url.pathname); // "/cats"
} else {
  console.log("URL invalida"); //URL invalida
}

Las propiedades de URL se pueden configurar para construir la URL:

js
url.hash = "tabby";
console.log(url.href); // "http://www.example.com/cats#tabby"

Las URL se codifican de acuerdo con las reglas que se encuentran en el RFC 3986. Por ejemplo:

js
url.pathname = "démonstration.html";
console.log(url.href); // "http://www.example.com/d%C3%A9monstration.html"

La interfaz URLSearchParams se puede utilizar para crear y manipular la cadena de consulta de URL.

Para obtener los parámetros de búsqueda de la URL de la ventana actual, puede hacer esto:

js
// https://some.site/?id=123
const parsedUrl = new URL(window.location.href);
console.log(parsedUrl.searchParams.get("id")); // "123"

El método toString() (en-US) de URL solo devuelve el valor de la propiedad href (en-US), por lo que El constructor se puede usar para normalizar y codificar una URL directamente.

js
const response = await fetch(
  new URL("http://www.example.com/démonstration.html"),
);

Especificaciones

Specification
URL Standard
# url

Compatibilidad con navegadores

BCD tables only load in the browser

Véase también