URL()
Конструктор 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