JavaScript/URL

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
.

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

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.