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?) wirft bei einem Parse-Fehler TypeError.
URL.parse(input, base?) gibt stattdessen null zurück, und
URL.canParse(input, base?) gibt einen Boolean zurück.
Bestandteile
Die veränderbaren Bestandteile sind href, protocol, username, password,
host, hostname, port, pathname, search und hash. origin und
searchParams sind schreibgeschützte Attribute.
Hostnamen werden IDNA-normalisiert, und IPv6-Literale behalten ihre eckigen Klammern.
new URL("https://日本.jp/").hostname; // "xn--wgv71a.jp"
new URL("http://[::1]:9000/").host; // "[::1]:9000"Die meisten ungültigen Zuweisungen an Bestandteile werden ignoriert. Die Zuweisung
eines ungültigen href wirft TypeError. Standardports werden als leerer port
serialisiert.
Live-Suchparameter
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"Bei jedem Zugriff wird dasselbe URLSearchParams-Objekt zurückgegeben.
Siehe auch
Reference
Status: Full · 8,682 of 9,046 suite tests pass (96.0%) · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
URL | class | Full | URL.parse(), URL.canParse(), href, origin, protocol, username, password, host, hostname, port, pathname, search, searchParams, hash, toJSON() |
URLSearchParams | class | Full | size, 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.