夿³¨ï¼ æ¤ç¹æ§å¨ Web Worker ä¸å¯ç¨ã
URL API æ¯ URL æ åçä¸ä¸ªç»ä»¶ï¼å®ä¹äºææ URL çææï¼ä»¥å访é®åæä½ URL ç APIãURL æ åè¿å®ä¹äºåååã主æºå IP å°åçæ¦å¿µï¼å¹¶å°è¯ä»¥æ åçæ¹å¼å»æè¿°ç¨äºä»¥é®/å¼å¯¹çå½¢å¼æäº¤ Web 表åå
容çéç application/x-www-form-urlencoded
MIME ç±»å ã
URL æ åç主è¦å 容æ¯ç± URL çå®ä¹åå ¶ç»æåè§£ææ¹å¼å³å®çãè¿ä»ç»äºä¸ç½ç»ä¸è®¡ç®æºå¯»åæå ³çåç§æ¯è¯çå®ä¹ï¼å¹¶æå®äºè§£æ IP å°åå DOM å°åçç®æ³ã大夿°å¼åè æ´æå ´è¶£äº API æ¬èº«ã
ä½¿ç¨ URL ç»ä»¶ç»æå®ç URL å建ä¸ä¸ª URL
对象å°è§£æè¯¥ URLï¼å¹¶éè¿å
¶å±æ§æä¾å¯¹å
¶ç»æé¨åçå¿«é访é®ã
let addr = new URL("https://developer.mozilla.org/zh-CN/docs/Web/API/URL_API");
let host = addr.host;
let path = addr.pathname;
ä¸é¢ç代ç çæ®µä¸ºä½ æ£å¨é
读çè¿ç¯æç« å建ä¸ä¸ª URL
对象ï¼ç¶åè·å host
å pathname
屿§ã卿¬ä¾ä¸ï¼è¿äºå符串çå¼å嫿¯ developer.mozilla.org
å /zh-CN/docs/Web/API/URL_API
ã
URL
对象ç大é¨å屿§é½æ¯å¯è®¾ç½®çï¼ä½ å¯ä»¥åå®ä»¬åå
¥æ°å¼æ¥æ´æ¹å¯¹è±¡æè¡¨ç¤ºç URLãä¾å¦ï¼è¦å建ä¸ä¸ª URL 对象并设置å®çç¨æ·åï¼
let myUsername = "someguy";
let addr = new URL("https://example.com/login");
addr.username = myUsername;
对 username
çå¼çä¿®æ¹é¤äºå¯¹å±æ§å¼çåæ´ï¼è¿æ´æ°æ´ä¸ª URLãæ§è¡ä¸é¢ç代ç çæ®µåï¼addr.href
çè¿å弿¯https://someguy@example.com/login
ãè¿ä¸ç¹å¯¹äºä»»ä½å¯ä¿®æ¹å±æ§é½æ¯å¦æ¤ã
URL
ç search
屿§å
å« URL çæ¥è¯¢å符串é¨åãä¾å¦ï¼å¦æ URL æ¯ https://example.com/login?user=someguy&page=news
ï¼é£ä¹ search
屿§ç弿¯ ?user=someguy&page=news
ãä½ è¿å¯ä»¥ä½¿ç¨ URLSearchParams
对象ç get()
æ¥æ¾åä¸ªåæ°çå¼ï¼
let addr = new URL("https://example.com/login?user=someguy&page=news");
try {
loginUser(addr.searchParams.get("user"));
gotoPage(addr.searchParams.get("page"));
} catch (err) {
showErrorMessage(err);
}
ä¾å¦ï¼å¨ä¸é¢ç代ç çæ®µä¸ï¼ä»æ¥è¯¢ä¸æåç¨æ·ååç®æ 页é¢ï¼å¹¶å°å ¶ä¼ éç»éå½ç彿°ï¼ç«ç¹ä»£ç 使ç¨è¿äºå½æ°ç»å½å¹¶å°ç¨æ·è·¯ç±å°ç«ç¹çç®ç页é¢ã
URLSearchParams
ä¸çå
¶ä»å½æ°å
许修æ¹ãæ·»å åå é¤é®åå¼ï¼çè³å¯¹åæ°å表è¿è¡æåºã
URL API æ¯ä¸ä¸ªç®åç APIï¼å®çåååªæå 个æ¥å£ï¼
URL
å¯è¢«ç¨äºè§£æãæå»ºãæ åååç¼ç URLã
URLSearchParams
å®ä¹åç§ç¨äºå¤ç URL çæ¥è¯¢å符串çå®ç¨æ¹æ³ã
妿叿å¤ç URL ä¸å
å«çåæ°ï¼å¯ä»¥æå¨è¿è¡å¤çï¼ä½æ¯å建ä¸ä¸ª URL
对象æ´å®¹æãä¸é¢ç fillTableWithParameters()
彿°æ¥åä¸ä¸ªè¡¨ç¤º <table>
ç HTMLTableElement
对象ä½ä¸ºè¾å
¥ãå°è¡æ·»å å°è¡¨ä¸ï¼ä¸è¡å¯¹åºåæ°ä¸æ¾å°çä¸ä¸ªé®ï¼ç¬¬ä¸åå
å«é®ï¼ç¬¬äºåå
å«å¼ã
注æï¼å¨çæè¡¨ä¹åè°ç¨ URLSearchParams.sort()
坹忰å表è¿è¡æåºã
function fillTableWithParameters(tbl) {
let url = new URL(document.location.href);
url.searchParams.sort();
let keys = url.searchParams.keys();
for (let key of keys) {
let val = url.searchParams.get(key);
let row = document.createElement("tr");
let cell = document.createElement("td");
cell.innerText = key;
row.appendChild(cell);
cell = document.createElement("td");
cell.innerText = val;
row.appendChild(cell);
tbl.appendChild(row);
}
}
å¯å¨ Glitch 䏿¾å°è¯¥ç¤ºä¾çå¯ç¨çæ¬ãåªè¦å¨å è½½é¡µé¢æ¶å URL æ·»å åæ°ï¼å°±å¯ä»¥å¨è¡¨ä¸çå°å®ä»¬ãä¾å¦ï¼è¯è¯ https://url-api.glitch.me?from=mdn&excitement=high&likelihood=inconceivable
ã
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