URL: URL() ã³ã³ã¹ãã©ã¯ã¿ã¼
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2021å¹´4æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
ã¡ã¢: ãã®æ©è½ã¯ã¦ã§ãã¯ã¼ã«ã¼å ã§å©ç¨å¯è½ã§ãã
URL() ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ã弿°ã«ãã£ã¦å®ç¾©ããã URL ã表ããæ°ããçæããã URL ãªãã¸ã§ã¯ããè¿ãã¾ãã
ä¸ãããããã¼ã¹ URL ã¾ãã¯çµæã® URL ãæå¹ãª URL ã§ãªãå ´åãJavaScript ã® TypeError ä¾å¤ãçºçãã¾ãã
æ§æ
new URL(url)
new URL(url, base)
弿°
url-
æååã¾ãã¯æåååã®ãããã®ä»ã®ãªãã¸ã§ã¯ãã§ã絶対ã¾ãã¯ãã¼ã¹ URL ã«å¯¾ããç¸å¯¾åç §ã表ãã¾ãã
urlãç¸å¯¾åç §ã§ããå ´åãbaseã¯å¿ é ã§ãããæçµç㪠URL ã解決ããããã«ä½¿ç¨ããã¾ããurlã絶対 URL ã§ããå ´åãæå®ãããbaseã¯çµæã® URL ã使ããããã«ã¯ä½¿ç¨ããã¾ããã baseçç¥å¯-
æååã§ã
urlãç¸å¯¾åç §ã®å ´åã«ä½¿ç¨ãããã¼ã¹ URL ã表ãã¾ãã æå®ãããªãã£ãå ´åãæ¢å®å¤ã¯undefinedã§ããbaseãæå®ããå ´åã解決ãã URL ã¯åã«urlã¨baseãçµåãããã®ã§ã¯ããã¾ããã 親ãã£ã¬ã¯ããªã¼ããã³ã«ã¬ã³ããã£ã¬ã¯ããªã¼ã¸ã®ç¸å¯¾åç §ã¯ãbaseURL ã®æå¾ã®ã¹ã©ãã·ã¥ã¾ã§ã®ãã¹é¨åãã«ã¬ã³ããã£ã¬ã¯ããªã¼ã¨ããç¸å¯¾ã§è§£æ±ºããã¾ãããã ããæå¾ã®ã¹ã©ãã·ã¥ä»¥éã¯å«ã¾ãã¾ããã ã«ã¼ãã¸ã®ç¸å¯¾åç §ã¯ããã¼ã¹ãåç¹ã¨ããç¸å¯¾ã§è§£æ±ºããã¾ãã 詳細ã«ã¤ãã¦ã¯ãURL ã¸ã®ç¸å¯¾åç §ã®è§£æ±ºãåç §ãã¦ãã ããã
ã¡ã¢:
弿° url 㨠base ã¯ãããããæ¸¡ãããå¤ãä½ã§ããHTMLAnchorElement ã HTMLAreaElement ã§ãã£ã¦ãæåååãã¾ããããã¯ãæååãåãå
¥ããä»ã® Web API ã¨åæ§ã§ãã
å
·ä½çãªä¾ã¨ãã¦ã¯ãæ¢åã® URL ãªãã¸ã§ã¯ããã©ã¡ãã®å¼æ°ã«ã使ç¨ãããã¨ãã§ãããã®ãªãã¸ã§ã¯ãã® href ããããã£ã«æåååããã¾ãã
ä¾å¤
TypeError-
urlï¼çµ¶å¯¾ URL ã®å ´åï¼ã¾ãã¯base+urlï¼ç¸å¯¾ URL ã®å ´åï¼ããæå¹ãª URL ã§ã¯ãªãå ´åã
ä¾
ã³ã³ã¹ãã©ã¯ã¿ã¼ã使ç¨ããä¾ãããã¤ã示ãã¾ãã
ã¡ã¢:
ç¸å¯¾åç
§ã® URL ã¸ã®è§£æ±ºã§ã¯ããã¾ãã¾ãª url 㨠base å¤ãæçµçãªçµ¶å¯¾ URL ã«è§£æ±ºãããæ¹æ³ã説æãããããªãä¾ãæä¾ããã¦ãã¾ãã
// ãã¼ã¹ URL:
let baseUrl = "https://developer.mozilla.org";
let A = new URL("/", baseUrl);
// => 'https://developer.mozilla.org/'
let B = new URL(baseUrl);
// => 'https://developer.mozilla.org/'
new URL("ja/docs", B);
// => 'https://developer.mozilla.org/ja/docs'
let D = new URL("/ja/docs", B);
// => 'https://developer.mozilla.org/ja/docs'
new URL("/ja/docs", D);
// => 'https://developer.mozilla.org/ja/docs'
new URL("/ja/docs", A);
// => 'https://developer.mozilla.org/ja/docs'
new URL("/ja/docs", "https://developer.mozilla.org/fr-FR/toto");
// => 'https://developer.mozilla.org/ja/docs'
ãã¡ãã¯ç¡å¹ãª URL ã®ä¾ã§ãã
new URL("/ja/docs", "");
// Raises a TypeError exception as '' is not a valid URL
new URL("/ja/docs");
// Raises a TypeError exception as '/ja/docs' is not a valid URL
// ä»ã®ä¾:
new URL("http://www.example.com");
// => 'http://www.example.com/'
new URL("http://www.example.com", B);
// => 'http://www.example.com/'
new URL("", "https://example.com/?query=1");
// => 'https://example.com/?query=1' ï¼Edge 79 以åã¯ã¯ã¨ãªã¼å¼æ°ãé¤å»ããï¼
new URL("/a", "https://example.com/?query=1");
// => 'https://example.com/a' (see relative URLs)
new URL("//foo.com", "https://example.com");
// => 'https://foo.com/' (see relative URLs)
仿§æ¸
| 仿§æ¸ |
|---|
| URL > # dom-url-url > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
URL.parse(): ä¾å¤ãçºçããªããã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã®ä»£ç¨URLã®ããªãã£ã« (core-js)- æå±ãã¦ããã¤ã³ã¿ã¼ãã§ã¤ã¹:
URL