Перейти до вмісту

URL

Розбір URL, компоненти та живі параметри пошуку.

На цій сторінці
const url = new URL("https://user:pw@example.com:8080/a?x=1#frag");
url.host;     // "example.com:8080"
url.pathname; // "/a"
url.origin;   // "https://example.com:8080"

new URL(input, base?) кидає TypeError, якщо розбір не вдався. URL.parse(input, base?) натомість повертає null, а URL.canParse(input, base?) повертає логічне значення.

Компоненти

Змінювані компоненти: href, protocol, username, password, host, hostname, port, pathname, search і hash. origin і searchParams — атрибути лише для читання.

Імена хостів нормалізуються за IDNA, а літерали IPv6 зберігають квадратні дужки.

new URL("https://日本.jp/").hostname; // "xn--wgv71a.jp"
new URL("http://[::1]:9000/").host;  // "[::1]:9000"

Більшість некоректних присвоєнь компонентів ігнорується. Присвоєння некоректного href кидає TypeError. Порти за замовчуванням серіалізуються як порожній port.

Живі параметри пошуку

const url = new URL("https://example.com/?a=1");
const params = url.searchParams;

params.append("b", "2");
url.href; // "https://example.com/?a=1&b=2"

url.search = "?c=3";
params.toString(); // "c=3"

Під час кожного звернення повертається той самий об’єкт URLSearchParams.

Див. також

Reference

Status: Full · 8,682 of 9,046 suite tests pass (96.0%) · since 1.1.0

Exports

ExportKindStatusNotes
URLclassFullURL.parse(), URL.canParse(), href, origin, protocol, username, password, host, hostname, port, pathname, search, searchParams, hash, toJSON()
URLSearchParamsclassFullsize, append(), delete(), get(), getAll(), has(), set(), sort(), iteration

Tests: wpt-wintertc url: 8,682 pass, 364 fail, 0 error, 2,251 skipped. Failing: url/toascii.window.js (298), url/IdnaTestV2.any.js (30), url/url-constructor.any.js (12), url/url-setters.any.js (12), url/urlsearchparams-constructor.any.js (6), url/urlencoded-parser.any.js (2), url/idlharness.any.js, url/url-origin.any.js, and 2 more.

Чи була ця сторінка корисною?