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.
Синтаксис
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> |
Совместимость с браузерами
Loading…