This page was translated from English by the community.Learn more and join the MDN Web Docs community.
URL()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since апрель 2021 г..
КонструкторURL() возвращает вновь созданныйURL объект, отражающий URL, определяемый параметрами.
Если предоставленный базовый URL-адрес или итоговый URL-адрес не является валидным, то будет сгенерировано JavaScript исключениеTypeError.
Примечание: Эта возможность доступна вWeb Workers.
In this article
Синтаксис
const url = new URL(url [, base])Параметры
urlСтрока типа
USVStringили любой объект, который может бытьпреобразован в строку, включая, например, элементы<a>и<area>, представляющие абсолютный и относительный URL-адрес соответственно. Еслиurlэто относительный URL-адрес, то параметрbaseстановится обязательным, так как он будет использован в качестве базового URL-адреса. Если жеurl— абсолютный URL-адрес, то значение параметраbaseбудет проигнорировано.baseНеобязательныйСтрока типа
USVString. Используется в качестве базового адреса, когдаurlэто относительный URL-адрес. Значение по умолчанию:undefined.
Примечание:Как и в случае с любым другим Web API,которое принимает на вход строку типаUSVString,аргументыurl иbase будут преобразованы в строкунезависимо от исходного типа переданного значения.В частности, вы можете использовать существующийURL объект в качестве аргументаи он будет преобразован в строку значение которой равно значению свойстваhref переданного объекта.
Исключения
| Исключение | Объяснение |
|---|---|
TypeError | url (в случае с абсолютным URL-адресом) илиbase +url (в случае с относительным URL-адресом) является невалидным URL-адресом. |
Примеры
// Базовые URL-адресаlet m = "https://developer.mozilla.org";let a = new URL("/", m); // => 'https://developer.mozilla.org/'let b = new URL(m); // => 'https://developer.mozilla.org/'new URL("en-US/docs", b); // => 'https://developer.mozilla.org/en-US/docs'let d = new URL("/en-US/docs", b); // => 'https://developer.mozilla.org/en-US/docs'new URL("/en-US/docs", d); // => 'https://developer.mozilla.org/en-US/docs'new URL("/en-US/docs", a); // => 'https://developer.mozilla.org/en-US/docs'new URL("/en-US/docs", "https://developer.mozilla.org/fr-FR/toto");// => 'https://developer.mozilla.org/en-US/docs'new URL("/en-US/docs", ""); // Генерирует TypeError исключение так как '' не является валидным URL-адресомnew URL("/en-US/docs"); // Генерирует TypeError исключение так как '/en-US/docs' не является валидным URL-адресомnew URL("http://www.example.com"); // => 'http://www.example.com/'new URL("http://www.example.com", b); // => 'http://www.example.com/'new URL("//foo.com", "https://example.com"); // => 'https://foo.com' (см. относительные URL-адреса)Спецификации
| Specification |
|---|
| URL> # dom-url-url> |