URL: canParse() statische Methode
Baseline
2023
Newly available
Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die URL.canParse() statische Methode des URL-Interfaces gibt einen booleschen Wert zurück, der angibt, ob eine absolute URL oder eine relative URL in Kombination mit einer Basis-URL parsbar und gültig ist.
Dies ist eine schnelle und einfache Alternative zur Konstruktion einer URL innerhalb eines try...catch-Blocks. Sie gibt true für dieselben Werte zurück, für die der URL() Konstruktor erfolgreich wäre, und false für Werte, die den Konstruktor zum Werfen bringen würden.
Syntax
URL.canParse(url)
URL.canParse(url, base)
Parameter
url-
Ein String oder ein beliebiges anderes Objekt mit einem Stringifier — einschließlich, zum Beispiel, eines
<a>oder<area>Elements — das eine absolute oder relative URL darstellt. Wennurleine relative URL ist, istbaseerforderlich und wird als Basis-URL verwendet. Wennurleine absolute URL ist, wird eine angegebenebaseignoriert. baseOptional-
Ein String, der die Basis-URL darstellt, die verwendet wird, wenn
urleine relative URL ist. Wird nichts angegeben, ist der Standardwertundefined.
Hinweis:
Die Argumente url und base werden jeweils aus dem Wert, den Sie übergeben, stringifiziert, genau wie bei anderen Web-APIs, die einen String akzeptieren.
Insbesondere können Sie ein bestehendes URL-Objekt für jedes Argument verwenden, und es wird zum href-Eigenschaft des Objekts stringifiziert.
Rückgabewert
true, wenn die URL geparst werden kann und gültig ist; false andernfalls.
Beispiele
Dieses Live-Beispiel zeigt, wie die URL.canParse() statische Methode für einige verschiedene absolute und relative URL-Werte verwendet wird.
Der erste Teil des Beispiels definiert ein HTML-
-Element zum Protokollieren zusammen mit einer Protokollierungsmethodelog().html<pre id="log"></pre>jsconst logElement = document.getElementById("log"); function log(text) { logElement.innerText += `${text}\n`; }Als nächstes prüfen wir, ob die
URL.canParse()Methode mit der Bedingung"canParse" in URLunterstützt wird. Wenn die Methode unterstützt wird, protokollieren wir das Ergebnis der Prüfung einer absoluten URL, einer relativen URL ohne Basis-URL und einer relativen URL mit einer gültigen Basis-URL. Wir protokollieren auch den Fall, wennURL.canParse()nicht unterstützt wird.jsif ("canParse" in URL) { log("Test valid absolute URL"); let url = "https://developer.mozilla.org/"; 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://developer.mozilla.org/"; result = URL.canParse(url, baseUrl); log(` URL.canParse("${url}","${baseUrl}"): ${result}`); } else { log("URL.canParse() not supported"); }Zuletzt zeigt der untenstehende Code, dass
baseUrlkein String sein muss. Hier haben wir einURL-Objekt übergeben.jsif ("canParse" in URL) { log("\nTest relative URL with base URL supplied as a URL object"); let baseUrl = new URL("https://developer.mozilla.org/"); let url = "/en-US/docs"; result = URL.canParse(url, baseUrl); log(` URL.canParse("${url}","${baseUrl}"): ${result}`); }Die Ergebnisse jedes der Tests werden unten angezeigt.
Spezifikationen
If you're able to see this, something went wrong on this page.Browser-Kompatibilität
If you're able to see this, something went wrong on this page.Siehe auch
URL()- Ein Polyfill von
URL.canParse()ist incore-jsverfügbar.