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

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

Una cadena que contiene el dominio de la URL.

href

Un stringifier que devuelve una cadena que contiene la URL completa.

origin Read only

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

password

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

pathname

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

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

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 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

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

Métodos estáticos

canParse()

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()

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

Métodos de instancia

toString()

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

toJSON()

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() 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() de URL solo devuelve el valor de la propiedad href, 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