URL: canParse() 靜態方法
注意:此功能在 Web Workers 中可用。
URL 介面的 URL.canParse() 靜態方法返回一個布林值,指示一個絕對 URL,或一個與基礎 URL 結合的相對 URL 是否可以解析且有效。
這是在 try...catch 塊中構建 URL 的一種快速簡便的替代方法。它對於 URL() 建構函式 會成功解析的相同值返回 true,對於會導致建構函式丟擲錯誤的那些值返回 false。
語法
js
URL.canParse(url)
URL.canParse(url, base)
引數
返回值
如果 URL 可以解析且有效,則返回 true;否則返回 false。
示例
這個即時示例演示瞭如何為幾個不同的絕對和相對 URL 值使用 URL.canParse() 靜態方法。
示例的第一部分定義了一個用於記錄輸出的 HTML <pre> 元素,以及一個名為 log() 的記錄方法。
html
<pre id="log"></pre>
js
const logElement = document.getElementById("log");
function log(text) {
logElement.innerText += `${text}\n`;
}
接下來,我們使用條件 "canParse" in URL 來檢查 URL.canParse() 方法是否受支援。如果該方法受支援,我們將記錄檢查絕對 URL、沒有基礎 URL 的相對 URL 以及具有有效基礎 URL 的相對 URL 的結果。我們還將記錄 URL.canParse() 不受支援的情況。
js
if ("canParse" in URL) {
log("Test valid absolute URL");
let url = "https://mdn.club.tw/";
let result = URL.canParse(url);
log(` URL.canParse("${url}"): ${result}`);
log("\nTest relative URL with no base URL");
url = "/en-US/docs";
result = URL.canParse(url);
log(` URL.canParse("${url}"): ${result}`);
log("\nTest relative URL with valid base URL");
let baseUrl = "https://mdn.club.tw/";
result = URL.canParse(url, baseUrl);
log(` URL.canParse("${url}","${baseUrl}"): ${result}`);
} else {
log("URL.canParse() not supported");
}
最後,下面的程式碼顯示 baseUrl 不必是字串。在這裡,我們傳遞了一個 URL 物件。
js
if ("canParse" in URL) {
log("\nTest relative URL with base URL supplied as a URL object");
let baseUrl = new URL("https://mdn.club.tw/");
let url = "/en-US/docs";
result = URL.canParse(url, baseUrl);
log(` URL.canParse("${url}","${baseUrl}"): ${result}`);
}
每個檢查的結果如下所示。
規範
| 規範 |
|---|
| URL # dom-url-canparse |
瀏覽器相容性
載入中…