SELFHTML: JavaScript / Objektreferenz / location
Author: Redaktion SELFHTML, selfhtml81@selfhtml.org
Description: Welche Aufgaben, Eigenschaften und Methoden das location-Objekt in JavaScript hat.
Keywords: SELFHTML, JavaScript, Objekte, location, hash, host, hostname, href, pathname, port, protocol, search, reload, replace
Date: 2005-10-16T23:53:24+02:00

| # location
| location: Allgemeines zur Verwendung ### Eigenschaften: hash (Ankername innerhalb eines URI) host (Domain-Name innerhalb eines URI) hostname (Domain-Name innerhalb eines URI) href (URI / Verweis zu URI) pathname (Pfadname innerhalb eines URI) port (Portangabe innerhalb eines URI) protocol (Protokollangabe innerhalb eines URI) search (Parameter innerhalb eines URI) ### Methoden: reload() (neu laden) replace() (History-Eintrag überschreiben)

## location: Allgemeines zur Verwendung

Über das Objekt `location`, das in der JavaScript-Objekthierarchie unterhalb des window-Objekts liegt, haben Sie Zugriff auf den vollständigen URI der aktuell angezeigten Web-Seite. Sie können den URI oder Teile davon zur Weiterverarbeitung abfragen und ändern. Beim Ändern führt der Web-Browser einen Sprung zu einem neuen URI aus, genau so wie bei einem Verweis.

### Beispiele:

    window.location.href = "datei2.htm";
    MeineDomain = location.host;

    parent.frames[1].location.href = "datei2.htm";
    Zweitfenster.host = "www.selfhtml.org";

### Erläuterung:

Methoden des location-Objekts können Sie mit `location` aufrufen. Sie können auch `window.` davor notieren. Da es sich dabei aber um die Adresse des aktuellen Fensters handelt, ist die Angabe des Fensternamens nicht zwingend erforderlich. Anders beim Zugriff auf andere Fenster oder Frame-Fenster. In diesen Fällen müssen Sie das Fenster korrekt adressieren. Lesen Sie für zusätzliche Fenster den Abschnitt zur Verwendung des window-Objekts und für Frame-Fenster den Abschnitt über die Verwendung des frames-Objekts.

## hash

Speichert den Anker (Verweisziel) innerhalb des URI.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    function Zeigen () {
      alert(window.location.hash);
    }
    </script>
    </head><body>
    <p><a href="#a2">Gehe zu a2. Bitte zuerst klicken</a></p>
    <p><a name="a2" href="javascript:Zeigen()">Hier a2 - bitte dann klicken</a></p>
    </body></html>

### Erläuterung:

Das Beispiel definiert zwei Verweise. Beim Anklicken des ersten Verweises wird zu dem Ziel `a2` innerhalb der Datei gesprungen. Dies ist selbst wieder ein Verweis. Beim Anklicken dieses zweiten Verweises wird die Funktion `Zeige()` aufgerufen, die den Ankernamen ausgibt. Beachten Sie, dass das Gatterzeichen `#` mit zu dem Wert gehört, den `hash` liefert.
Wenn Sie diese Angabe ändern, bewirken Sie einen Verweis innerhalb der Datei zu dem angegebenen Anker. Auch dabei müssen Sie das Gatterzeichen vor dem Ankernamen hinzufügen.

## host

Speichert den vollständigen Namen des Server-Rechners innerhalb des aktuellen oder fensterspezifischen URI. Im Unterschied zu hostname enthält der Servername auch die Portnummer des Web-Servers.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    alert("Sie befinden sich auf dem Host " + window.location.host);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt beim Einlesen der Datei aus, auf welchem Host-Rechner sich der Anwender befindet. Wenn es eine Namensadresse wie etwa www.selfhtml.org ist, wird diese ausgegeben. Wenn es eine numerische IP-Adresse wie etwa 195.201.34.18 ist, wird diese ausgegeben. Wenn beispielsweise eine Portnummer dazugehört, wie www.example.org:5080, wird auch diese gespeichert.
Sie können die Eigenschaft ändern. Sicherer ist es in diesem Fall jedoch, mit der Eigenschaft href zu arbeiten.

## hostname

Speichert den vollständigen Namen des Server-Rechners innerhalb des aktuellen oder fensterspezifischen URI.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    alert("Sie befinden sich auf dem Host " + window.location.hostname);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt beim Einlesen der Datei aus, auf welchem Host-Rechner sich der Anwender befindet. Wenn es eine Namensadresse wie etwa www.selfhtml.org ist, wird diese ausgegeben. Wenn es eine numerische IP-Adresse wie etwa 195.201.34.18 ist, wird diese ausgegeben.
Sie können die Eigenschaft ändern. Sicherer ist es in diesem Fall jedoch, mit der Eigenschaft href zu arbeiten.

## href

Speichert den vollständigen URI des aktuellen oder eines anderen Fensters.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    function Wunsch () {
      var Ziel = window.prompt("Ihr Wunsch-URI:", "");
      window.location.href = Ziel;
    }
    </script>
    </head><body>
    <a href="javascript:Wunsch()">Wunschverweis</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird die Funktion `Wunsch()` aufgerufen. Diese Funktion blendet ein Dialogfenster ein, in dem der Anwender einen URI seiner Wahl eingeben kann. Der eingegebene Wert wird in der Variablen `Ziel` gespeichert. Anschließend wird durch Zuweisung von `Ziel` an `window.location.href` ein Verweis zu diesem URI ausgeführt.
Es muss sich dabei nicht um einen vollständigen URI handeln. Ein Dateiname genügt, wenn der Sprung einfach nur zu einer anderen Projektdatei im gleichen Verzeichnis führen soll.

## pathname

Speichert den Pfadnamen innerhalb des aktuellen oder fensterspezifischen URI. Bei lokaler Verwendung (ohne HTTP-Protokoll) wird die vollständige lokale Adresse gespeichert.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    alert("Aktueller Pfad: " + window.location.pathname);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt beim Einlesen der Datei in einem Meldungsfenster den Pfadnamen des URI der Datei aus.
Sie können die Eigenschaft ändern. Sicherer ist es in diesem Fall jedoch, mit der Eigenschaft href zu arbeiten.

## port

Speichert den Port innerhalb des aktuellen oder fensterspezifischen URI. Eine Adresse mit Ports ist etwa http://www.example.org:5080/ - die Eigenschaft `port` enthält nur dann einen Wert, wenn im aktuellen URI tatsächlich eine Portangabe enthalten ist.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    if (window.location.port != "")
      alert(window.location.port);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel ermittelt beim Einlesen der Datei, ob eine Portangabe vorhanden ist. Wenn ja, wird sie in einem Meldungsfenster ausgegeben.
Sie können die Eigenschaft ändern. Dies kann jedoch zu Fehlermeldungen führen, wenn der Server den Port nicht kennt. Der "Normal-Port" für HTTP-Adressen ist 80.

## protocol

Speichert das verwendete Protokoll innerhalb des aktuellen oder fensterspezifischen URI. Bei HTTP-Adressen wird `http:` gespeichert. Bei lokaler Verwendung (ohne HTTP-Protokoll) wird `file:` gespeichert.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    alert(window.location.protocol);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt beim Einlesen der Datei das Protokoll aus, das zum aktuellen URI gehört.
Sie können die Eigenschaft ändern. Dies kann jedoch zu Fehlermeldungen führen, wenn das angegebene Protokoll mit der gleichen sonstigen Adresse nicht unterstützt wird.

## search

Speichert eine Zeichenkette, die, durch ein Fragezeichen getrennt, zum aktuellen URI gehört, zum Beispiel:
`http://www.example.org/index.htm?Browser=Netscape`.
In diesem Fall enthält die Eigenschaft den Wert `?Browser=Netscape`.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    if (window.location.search != "")
      alert(window.location.search);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel ermittelt beim Einlesen der Datei, ob der URI einen Teil hinter einem Fragezeichen enthält. Wenn ja, wird sie in einem Meldungsfenster ausgegeben.
Sie können (funktioniert nur mit Netscape) mit href eine andere Datei aufrufen und an den URI, durch ein Fragezeichen getrennt, Informationen anhängen, zum Beispiel solche, die Sie mit JavaScript ermittelt haben - Formulareingaben oder dergleichen. Die aufgerufene Datei kann solche Informationen auslesen und weiterverarbeiten. Auf diese Weise ist "Kommunikation" zwischen Dateien möglich.

### Beachten Sie:

Opera 5.12 zeigt im Protokoll `file:` den HTML-Quelltext einer Datei an, sobald diese einen Parameter erhält.

## reload()

Lädt eine WWW-Seite neu. Hat den gleichen Effekt wie der Reload-Button im Browser.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <a href="javascript:location.reload()">Reload</a>
    </body></html>

### Erläuterung:

Das Beispiel definiert einen Verweis, bei dessen Anklicken die aktuelle Seite noch einmal neu geladen wird.

Optional kann dieser Funktion der Parameter `true` übergeben werden, um ein Neuladen der Seite vom Server zu erzwingen. Ohne diesen Parameter wird die Seite aus dem Zwischenspeicher des Browsers (Cache) neu geladen.

## replace()

Lädt einen anderen URI über den aktuellen Eintrag in der Liste der besuchten Seiten (History). Hat dadurch einen ähnlichen Effekt wie die Eigenschaft href. Der Unterschied ist, dass der aktuelle URI anschließend in der Liste der besuchten Seiten nicht mehr vorkommt.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <a href="javascript:location.replace('datei2.htm')">Datei 2</a>
    </body></html>

### Erläuterung:

Das Beispiel definiert einen Verweis, bei dessen Anklicken `datei2.htm` geladen wird. Der aktuelle URI verschwindet dabei aus der Liste der besuchten Seiten.

| Array
| history

© 2007 Impressum