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
| 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.