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.
Конструктор 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 Standard # dom-url-url |
Совместимость с браузерами
BCD tables only load in the browser