URL

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

A interface URL é usada para analisar, construir, normalizar e codificar URLs. Ela trabalha com a disponibilização de propriedades para facilitar a leitura e modificar componentes da URL.

Normalmente você cria um novo objeto URL especificando a URL como string quando seu construtor é chamado, ou provendo uma URL relativa e URL base. Você pode facilmente ler e analisar os compoentes de uma URL ou fazer alterações na URL.

Se o seu navegador não tem suporte ao construtor URL(), você pode acessar o objeto URL utilizando a interface Window propriedade URL. Certifique-se de verificar se algum de seus navegadores precisa deste prefixo.

Nota: This feature is available in Web Workers.

Construtor

URL()

Cria e retorna o objeto URL referenciando a URL especificada utilizando uma sring URL absolute, ou uma string URL relativa e uma string URL base.

Propriedades

hash

Uma USVString contendo o '#' seguido pelo fragmento identificador da URL.

host

Uma USVString contendo o domínio (that is the hostname) seguido por (se a porta foi especificada) um ':' e a port da URL.

hostname

Uma USVString contendo o domínio da URL.

href

Uma função stringifier que retorna uma USVString com toda a URL.

origin Somente leitura

Retorna uma USVString contendo a origem da URL, este é seu esquema, domínio e sua porta.

password

Uma USVString com a senha especificada antes do nome do domínio.

pathname

Uma USVString contendo a inicial '/' seguido pelo caminho da URL, não inclui a query string ou fragmento.

port

Uma USVString contendo o número da porta da URL.

protocol

Uma USVString contendo o esquema de protocolo da URL, incluindo o final ':'.

Uma USVString indicando a string de parâmetros de URL's; Se algum parâmetro é disponibilizado, esta string inclui todos eles começando pelo caracter ?.

searchParams Somente leitura

Um objeto URLSearchParams que pode ser utilizado para acessar individualmente os parâmetros encontrados em search.

username

Uma USVString contendo o nome de usuário especificado antes do nome do domínio.

Métodos

toString()

Retorna uma USVString com toda a URL. Isto é um sinônimo para URL.href, embora não pode ser usado para modificar o valor.

toJSON()

Retorna uma USVString com toda a URL. Ela retorna a mesma string da propriedade href.

Métodos estáticos

createObjectURL()

Retorna um DOMString contendo uma única blob URL, isto é a URL com blob: com seu esquema, seguido de uma string com identificador único do objeto no navegador.

revokeObjectURL()

Anula uma URL criada anteriormente utilizando o URL.createObjectURL().

Notas de uso

O construtor recebe o parâmetro url, e o parâmetro opcional base para usar como base do parâmetro url é uma 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"

Propriedades da URL podem ser definidas para construir a URL:

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

As Urls são codificadas de acordo com as regras encontradas em RFC 3986. Para instância:

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

A interface URLSearchParams é usada pra criar e manipular a query string da URL.

Para obter os parâmetros da URL atual, você pode utilizar isso:

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

O método toString() de URL apenas retorna o valor da propriedade href, para que o construtor possa ser usado pra normalizar e codificar diretamente a URL.

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

Especificações

Specification
URL
# url

Compatibilidade de browser

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
URL
URL() constructor
canParse() static method
createObjectURL() static method
hash
host
hostname
href
origin
parse() static method
password
pathname
port
protocol
revokeObjectURL() static method
search
searchParams
toJSON
toString
username

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
See implementation notes.
Requires a vendor prefix or different name for use.
Has more compatibility info.

Veja também