Limited availability
Experimental: ããã¯å®é¨çãªæ©è½ã§ãã
æ¬çªã§ä½¿ç¨ããåã«ãã©ã¦ã¶ã¼äºææ§ä¸è¦§è¡¨ããã§ãã¯ãã¦ãã ããã
ã¡ã¢: ãã®æ©è½ã¯ã¦ã§ãã¯ã¼ã«ã¼å ã§å©ç¨å¯è½ã§ãã
URLPattern()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ã弿°ã§å®ç¾©ããã URL ãã¿ã¼ã³ãè¡¨ãæ°ãã URLPattern
ãªãã¸ã§ã¯ããè¿ãã¾ãã
new URLPattern(input)
new URLPattern(input, baseURL)
new URLPattern(input, options)
new URLPattern(input, baseURL, options)
弿°
input
ç §åã«ä½¿ç¨ããå ¥åãã¿ã¼ã³ãããã¯ãæååãã¾ãã¯å URL é¨åãã¨ã«ãã¿ã¼ã³ãæä¾ãããªãã¸ã§ã¯ãã®ããããã§ãããªãã¸ã§ã¯ãã®ã¡ã³ãã¼ã¯ã次ã®ããããã§ãã
protocol
username
password
hostname
port
pathname
search
hash
baseURL
ã¡ã¢: ãã®ãªãã¸ã§ã¯ãã§çç¥ãããé¨åã¯ãã¯ã¤ã«ãã«ã¼ã (*
) ã¨ãã¦æ±ããã¾ãã
baseURL
çç¥å¯
input
ãç¸å¯¾ãã¿ã¼ã³ã§ããå ´åã«ä½¿ç¨ãããã¼ã¹ URL ã表ãæååãæå®ããªãã£ãå ´åãæ¢å®ã§ã¯ undefined
ã«ãªãã¾ãã
options
çç¥å¯
æå®ããããã¿ã¼ã³ã¨ç §åããããã®ãªãã·ã§ã³ãæä¾ãããªãã¸ã§ã¯ããå®ç¾å¯è½ãªãªãã¸ã§ã¯ãã¡ã³ãã¼ã¯æ¬¡ã®ã¨ããã§ãã
ignoreCase
çç¥å¯
true
ã«è¨å®ããã¨ã大æåã¨å°æåãåºå¥ããªãç
§åãæå¹ã«ãã¾ããçç¥ããå ´åãã¾ã㯠false
ã«è¨å®ããå ´åã¯ã大æåã¨å°æåãåºå¥ãã¦ç
§åãã¾ãã
TypeError
次ã®ããããã示ãã¾ãã
input
ã¾ã㯠baseURL
ãç¡å¹ã¾ãã¯æ§æçã«æ£ãããªããinput
ã¯ç¸å¯¾ã§ãããå®å
¨ãªçµ¶å¯¾ URL ãå½¢æããããã® baseURL
ãæå®ããã¦ããªããbaseURL
ãæå®ããã¦ãããå
¥åã¯çµ¶å¯¾ãã¿ã¼ã³ã¾ãã¯æ§é åãªãã¸ã§ã¯ãã§ãããlet pattern1 = new URLPattern("https://example.com/books/:id");
// 次ã®ãã®ã¨åç
let pattern2 = new URLPattern("/books/:id", "https://example.com");
// ã¾ãã¯
let pattern3 = new URLPattern({
protocol: "https",
hostname: "example.com",
pathname: "/books/:id",
});
// ã¾ãã¯
let pattern4 = new URLPattern({
pathname: "/books/:id",
baseURL: "https://example.com",
});
ãããã³ã«ã¨ãã¹ãåã®ç
§å
let pattern = new URLPattern({
protocol: "http{s}?",
hostname: ":subdomain.example.com",
});
ã§ããéããã¹ã¦ã®é¨åã§ç
§å
let pattern = new URLPattern({
protocol: "http{s}?",
username: ":username",
password: ":password",
hostname: ":subdomain.example.com",
port: ":port(80|443)",
pathname: "/:path",
search: "*",
hash: "*",
});
大æåå°æåã®åºå¥ãªãã§ç
§å
// æ¢å®ã§ã¯å¤§æåå°æåãåºå¥ãã
const pattern = new URLPattern("https://example.com/2022/feb/*");
console.log(pattern.test("https://example.com/2022/feb/xc44rsz")); // true
console.log(pattern.test("https://example.com/2022/Feb/xc44rsz")); // false
ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ ignoreCase
ãªãã·ã§ã³ã true
ã«è¨å®ããã¨ãæå®ããããã¿ã¼ã³ã«å¯¾ãã¦ããã¹ã¦ã®å¤§æåã¨å°æåãåºå¥ããªãç
§åæä½ã«åãæ¿ããã¾ãã
// 大æåå°æåã®åºå¥ãªãã§ç
§å
const pattern = new URLPattern("https://example.com/2022/feb/*", {
ignoreCase: true,
});
console.log(pattern.test("https://example.com/2022/feb/xc44rsz")); // true
console.log(pattern.test("https://example.com/2022/Feb/xc44rsz")); // true
使ç¨ä¸ã®ã¡ã¢
URLPattern
ã³ã³ã¹ãã©ã¯ã¿ã¼ã®å
¥åãã¿ã¼ã³ã¯ããã¿ã¼ã³ãªãã¸ã§ã¯ããã¾ãã¯ãã¿ã¼ã³æååã¨ãªãã·ã§ã³ã® baseURL ã® 2 ã¤ã®å½¢ãåãã¾ãã
new URLPattern(obj);
new URLPattern(pattern);
new URLPattern(pattern, baseURL);
æåã®ç¨®é¡ã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ã URL ã®åã
ã®é¨åãã¨ã«ãã¿ã¼ã³ãæå®ãã¦ãç
§åãã¹ã URL ãè¨è¿°ãããªãã¸ã§ã¯ãã弿°ã¨ãã¦åãåãã¾ãã ãã®ã¡ã³ãã¼ã¯ãprotocol
ãusername
ãpassword
ãhostname
ãport
ãpathname
ãsearch
ãhash
ãbaseURL
ã®ããããã§ããbaseURL
ããããã£ãæå®ããã¦ããå ´åããã㯠URL ã¨ãã¦è§£éãããæ¬ è½ãã¦ãããã®ä»ã®ããããã£ã®å¤ã¨ãã¦ä½¿ç¨ããã¾ããbaseURL
ããããã£ãæå®ããã¦ããªãå ´åããã®ä»ã®æ¬ è½ãã¦ããããããã£ã¯ãæ¢å®ã§ãã¿ã¼ã³ *
ã¯ã¤ã«ãã«ã¼ãã¨ãªããããããå
¥åãåãå
¥ãã¾ãã
2 ã¤ç®ã®ç¨®é¡ã®ã³ã³ã¹ã©ã¯ã¿ã¼ã¯ããã¿ã¼ã³ãåãè¾¼ã¾ãã URL æååãåãã¾ãããã® URL æååã¯ã2 çªç®ã®å¼æ°ã¨ã㦠baseURL
ãæå®ããã¦ããã°ãç¸å¯¾ URL ã«ãããã¨ãã§ãã¾ããæåã URL ã®è¦ç´ ãåºåãæåãªã®ãããã¿ã¼ã³ã®ä¸é¨ãªã®ããææ§ãªå ´åã¯ã URL æååå
ã®æåãã¨ã¹ã±ã¼ãããå¿
è¦ãããå ´åããããã¨ã«æ³¨æãã¦ãã ãããä¾ãã°ã:
ããããã³ã«æ¥å°¾è¾ã§ãããååä»ãã°ã«ã¼ããã¿ã¼ã³ :blank
ã®éå§ã§ã¯ãªããã¨ã示ãã«ã¯ãabout\\:blank
ã¨è¨è¿°ããå¿
è¦ãããã¾ãã
URLPattern
ã®ããªãã£ã«ã GitHub ã«ããã¾ããRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4