JavaScript/URL
Die URL Schnittstelle wird verwendet, um URLs zu analysieren und zu erzeugen.
Das URL
Objekt ist zum einen eine Konstruktorfunktion zum erzeugen von Objekten mit der URL-Schnittstelle (implementiert durch URL.prototype
), zum anderen bietet es zwei Methoden zum Erzeugen und Freigeben von Objekt-URLs an.
Konstruktor
var url = new URL(url [, basis]);
Methoden des URL Objekts
Methoden von URL.prototype
- toString
- toJSON
Eigenschaften von URL.prototype
- hash
- href
- host
- hostname
- origin (read-only)
- password
- pathname
- port
- protocol
- search
- searchParams (read-only)
- username
- @@toStringTag
Inhaltsverzeichnis
Konstruktor
Der URL Konstruktoraufruf kann mit einem oder zwei Parametern geschehen:
let url = new URL(urlString);
Der übergebene URL-String muss einen validen absoluten URL darstellen, andernfalls wirft der Konstruktor einen TypeError. Die Schemas http, https, ftp, ws, wss und file spielen dabei eine Sonderrolle, weil sie entsprechend der speziellen Regeln für diese Schemas geparsed werden und auch ein Default-Port gesetzt werden kann.
let url = new URL(urlString, baseUrlString);
Ein URL Objekt stellt immer einen absoluten URL dar, und wenn urlString
einen relativen URL enthält, müssen Sie als zweites Argument einen absoluten Basis-URL übergeben, der den Bezugspunkt für den relativen URL darstellt. Ein absoluter URL beginnt immer mit einem Schema, ohne Schema ist er relativ und benötigt einen Basis-URL. Wenn urlString
bereits einen absoluten URL darstellt, wird baseUrlString
ignoriert.
Methoden der URL Funktion
canParse
Wenn Sie lediglich prüfen möchten, ob eine Zeichenkette einen gültigen URL darstellt, können demnächst die Methode URL.canParse()
verwenden. Webkit-Browser und Firefox unterstützen die Methode bereits, für Chromium-Browser benötigen Sie noch (Okt. 2023) einen Polyfill.
Sie rufen URL.canParse()
mit den gleichen Parametern auf wie den URL-Konstruktor. An Stelle eines TypeError
wird false
zurückgegeben, wenn die Parameter ungültig sind. Für gültige Parameter erhalten Sie true
.
Object-URL Methoden
Bitte lesen Sie die Artikel zu createObjectURL und revokeObjectURL für eine Beschreibung, was Objekt-URLs sind und was die Methoden tun.
Methoden von URL.prototype
toJSON()
Liefert die Zeichenkettendarstellung des URL - also den gleichen Wert, der auch in der href
-Eigenschaft des URL-Objekts zu finden ist.
toString()
Liefert den gleichen Wert wie toJSON().
Eigenschaften von URL.prototype
Die genannten Eigenschaften stellen Getter dar, die den Inhalt oder Ausschnitte des URL-Objekts bereitstellen. Die diversen Detail-Eigenschaften sind allerdings nur verfügbar, wenn der URL eines der Schemas http, https, ws, wss, ftp oder file verwendet und in diesem Schema die jeweilige Eigenschaft definiert ist.
href
In dieser Eigenschaft finden Sie die String-Darstellung des URL in absoluter Form. Komponenten, die Sie nicht angegeben haben (wie zum Beispiel username oder port), werden aber nicht durch ihre Standardwerte ersetzt.
protocol
Das Schema des URL, inklusive des Doppelpunkts.
hostname
Enthält den Namen des Hosts (der Domain Name) im URL.
port
Die Port-Nummer des URL. Wenn bei der Erzeugung des URL-Objekts kein Port angegeben wurde, ist diese Eigenschaft leer, der Konstruktor setzt nicht den Default-Port des verwendeten Schemas ein.
origin
Der Origin des URL. Dieser spielt eine wichtige Rolle bei Zugriffen auf Netzwerkressoucen, und besteht aus Schema, Hotsname und Port des URL. Folgen Sie dem Link für weitere Informationen
host
Die host-Eigenschaft liefert die Kombination aus Hostname und Port
pathname
Der Anteil des URL, der die gewünschte Ressource auf dem angesprochenen Host identifiziert, ohne die URL-Suchparameter. Es ist also der Teil des URL hinter dem Origin (inclusive des /
Zeichens) bis zum Beginn der Suchparameter (eingeleitet durch ?
) oder des Hash-Anteils (eingeleitet durch #
)
search
Der Teil des URL ab dem ersten ?
Zeichen, bis zum Ende des URLs oder bis zum Beginn des Hash-Anteils (eingeleitet durch #
). Jeder URL kann einen Search-Anteil haben, auch file://
oder selbstdefinierte Schemas.
searchParams
Erstellt ein URLSearchParams-Objekt aus dem search
-Teil der URL und gibt es zurück.
hash
Enthält den Fragment-Anteil des URL, also alles ab dem ersten #
Zeichen bis zum Ende. Falls dieser Teil URL-encoded ist, wird er nicht automatisch decodiert. Jeder URL kann einen Hash-Anteil haben, auch file://
oder selbstdefinierte Schemas.
username, password
Der Host-Teil des URL kann optional um Authentifizierungsdaten in der Form user:passwort
erweitert werden. Dazu schreibt man sie vor den Hostnamen und trennt sie durch ein @
Zeichen von ihm ab. Ein Beispiel wäre admin:geheim@example.org
.
Da diese Daten ungeschützt über das Netzwerk übertragen werden, ist dieses Verfahren als deprecated (missbilligt) eingestuft und soll nicht mehr verwendet werden. Sollte ein URL Username und Passwort enthalten, so sind sie in diesen Eigenschaften zu finden.