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. Wennurl
eine relative URL ist, istbase
erforderlich und wird als Basis-URL verwendet. Wennurl
eine absolute URL ist, wird eine angegebenebase
ignoriert. base
Optional-
Ein String, der die Basis-URL darstellt, die verwendet wird, wenn
url
eine 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 URL
unterstü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
baseUrl
kein 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-js
verfügbar.