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.

Примечание: Эта возможность доступна в Web Workers.

Интерфейс URL используется для разбора, создания, нормализации и кодирования URL-адресов. Он предоставляет свойства, которые позволяют легко читать и изменять части URL-адреса.

Для создания объекта URL нужно вызвать конструктор, передав ему строку с абсолютным или относительным URL-адресом в качестве аргумента. В случае с относительным адресом в конструктор также нужно передать базовый адрес вторым аргументом. После этого вы получите доступ к частям URL-адреса для их чтения или модификации.

В случае, когда браузер не поддерживает URL() конструктор, вы можете получить доступ к объекту URL через URL свойство интерфейса Window. Проверьте, не нуждается ли какой-либо из ваших целевых браузеров в этом префиксе.

Примечание: Эта возможность доступна в Web Workers.

Конструктор

new URL()

Создаёт и возвращает объект URL из указанного абсолютного адреса или пути и базового адреса.

Свойства

hash

Строка типа USVString. Содержит идентификатор фрагмента и символ '#' в начале строки.

host

Строка типа USVString. Содержит доменное имя (hostname) за которым следует (если был указан порт) символ ':' и номер порта.

hostname

Строка типа USVString. Содержит доменное имя.

href

Строка типа USVString. Содержит полный URL-адрес.

origin Только для чтения

Строка типа USVString. Содержит схему (протокол), доменное имя и номера порта.

password

Строка типа USVString. Содержит пароль, указанный перед доменным именем.

pathname

Строка типа USVString. Содержит относительный пусть и символ '/' в начале строки. Параметры запроса и идентификатор фрагмента не входят в эту строку.

port

Строка типа USVString. Содержит номер порта.

protocol

Строка типа USVString. Содержит название протокола и символ ':' на конце.

Строка типа USVString. Содержит параметры запроса. Включает в себя все параметры, которые были указаны и начинается с символа '?'.

searchParams Только для чтения

Объект URLSearchParams. Позволяет получить доступ к каждому параметру запроса по отдельности.

username

Строка типа USVString. Содержит имя пользователя указанное перед именем домена.

Методы

toString()

Возвращает строку типа USVString, содержащую полный URL-адрес. Возвращаемое значение аналогично значению свойства URL.href. Разница лишь в том, что при помощи этого метода нельзя изменить значение URL-адреса.

toJSON()

Возвращает строку типа USVString, содержащую полный URL-адрес. Возвращаемое значение аналогично значению свойства URL.href.

Статические методы

createObjectURL()

Возвращает строку типа DOMString, содержащую уникальный URL-адрес Blob объекта. Этот адрес предоставляет из себя строку с blob: в качестве схемы, за которой идёт строка однозначно идентифицирующая Blob объект в браузере.

revokeObjectURL()

Отменяет URL созданный при помощи URL.createObjectURL().

Примечания по использованию

Конструктор принимает один обязательный параметр — url и один необязательный параметр — base, который будет использован в качестве «основы», если параметр url это относительный URL-адрес:

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

Вы можете задавать значения свойствам объекта URL, чтобы изменять URL-адрес:

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

URL-адреса кодируются согласно стандарту RFC 3986. Например:

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

Интерфейс URLSearchParams можно использовать для работы с параметрами запроса.

Например, следующим образом можно получить параметры запроса URL-адреса текущей веб-страницы:

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

Метод toString() лишь возвращает значение свойства href. Благодаря этому, конструктор URL можно использовать для нормализации и кодирования URL-адреса.

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

Спецификации

Specification
URL
# url

Совместимость с браузерами

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.

Смотрите также