JavaScript Redirect - Seitenbesucher auf eine andere Seite umleiten

Bei einem Redirect handelt es sich um eine automatische Weiterleitung eines Besuchers oder allgemein eines Clients auf eine definierte Zieladresse. Hierzu ist anzumerken, dass die Anfrage nicht nur von einem realen Seitenbesucher, sondern auch automatisiert von einem eingenständig vorgehenden Client-Programm – beispielsweise einem Bot, der im Auftrag eines Suchmaschinenbetreibers Internetseiten im Web spidert – ausgehen kann. Am Anfang eines jeden Redirects steht eine Anfrage an den Webserver, ein sogenannter Request, der eine bestimmte Datei, die unter einer URL gespeichert ist, anfordert. Auf diesen Request antwortet der Webserver normalerweise mit der Auslieferung der angeforderten Datei.

Ist für eine URL ein Redirect vorgesehen, so antwortet der Server nicht mit der Auslieferung der Datei, sondern er teilt dem Client – beispielsweise dem Webbrowser – mit, wo die angeforderte Datei zu finden ist. Eigentlich sollte ein Redirect stets direkt über eine entsprechende Rückmeldung durch den Webserver durchgeführt werden. Antwortet der Webserver direkt mit einem Redirect, so wird die zu übertragende Datenmenge minimiert – der Webserver schickt dann nur eine Request-Header an den Client, der nur einige Bytes lang ist. Umgesetzt werden kann ein solcher serverseitiger Redirect durch einen Eintrag in die .htaccess-Datei oder aber über ein Script, welches auf dem Server läuft (in irgendeiner Programmiersprache; meist in PHP, Perl oder ASP), und als Antwort einen Redirect an den Client schickt.

Auch mit Hilfe des HTML-Meta-Tags im HEAD-Bereich einer HTML-Datei ist die Umsetzung eines Redirects möglich. Redirects können aber auch über clientseitige Scripte – beispielsweise mit Hilfe von JavaScript – umgesetzt werden. Dazu darf aber nicht unerwähnt bleiben, dass eine solche Umleitung voraussetzt, dass der Client JavaScript unterstützt und darüber hinaus auch das Ausführen von JavaScript erlaubt ist. Bots und viele andere automatisch agierende Clients unterstützen keine clientseitigen Scriptsprachen – hier würde ein solcher Redirect fehlschlagen. Ein weiterer Nachteil der beiden letzten Vorgehensweisen ist der, dass die HTML-Datei, welche den Redirect enthält an den Client ausgeliefert werden muss und somit unnötiger Traffic entsteht.

Gründe einen Redirect einzusetzen gibt es viele. Der wohl wichtigste Grund zur Nutzung eines Redirects ist ein Serverumzug. Damit wird dem Client angezeigt, dass der Webserver nunmehr unter einer neuen Adresse zu finden ist und die gesamte Struktur, die bislang unter der alten Adresse gespeichert war wird auf den neuen Server umgeleitet. Nachdem der Client einen Redirect angezeigt bekommen hat, lädt dieser automatisch die neue Zieladresse in das Fenster. Zum Thema Redirects beachten Sie bitte auch die Seite Redirect in PHP.

JavaScript Redirects Beispiel 1: Unmittelbarer Redirect mit JavaScript

Im folgenden Beispiel-Script wird eine HTML-Seite gelistet, die einen Redirect mit JavaScript realisiert. Hier ist ein minimales Gerüst einer HTML-Datei enthalten, die einen Script-Bereich enthält, in dem der JavaScript-Code für den Redirect eingebaut ist. Der href-Eigenschaft des aktuellen Fensters wird die URL zugewiesen, auf die umgeleitet werden soll. Die href-Eigenschaft gehört zum Location-Objekt. Eine solche Datei muss unter dem Namen der Datei gespeichert werden von der aus auf die neue Datei umgeleitet werden soll. Wenn Sie den JavaScript-Teil aus dem unteren Script in eine bestehende Datei integrieren, dann werden Ihre Besucher direkt an die gesetzte Zielseite verwiesen.

<html>
  <body>
    <script language="javascript" type="text/javascript">
    <!-- // JavaScript-Bereich für ältere Browser auskommentieren
    window.location.href = 'http://www.evocomp.de';
    // -->
    </script>
  </body>
</html>

JavaScript Redirects Beispiel 2: Verzögerter Redirect mit JavaScript

Das nächste Beispiel zeigt, wie ein verzögerter Redirect implementiert werden kann. Hierzu wird auf die Methode setTimeout() zurückgegriffen. Diese Methode führt den im ersten Parameter angegebenen JavaScript-Befehl mit einer im zweiten Parameter angegebenen zeitlichen Verzögerung aus. Nach Ablauf des Timeouts (hier 5000 Millisekunden; 5 Sekunden) wird die Funktion redirect_to aufgerufen, die den Redirect ausführt. Settimeout gehört zur Schnittstelle des in JavaScript vordefinierten Window-Objekts. Als Parameter erwartet die Funktion redirect_to die URL, auf die umgeleitet werden soll. Den Script-Bereich unten können Sie – inklusive der dort definierten Funktion – in eine beliebige HTML-Datei einfügen. Durch Anpassung des Timeouts können Sie den Redirect auch früher oder später durchführen lassen.

<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Nach fünf Sekunden Funktion redirect_to aufrufen
window.setTimeout ('redirect_to ("http://www.evocomp.de")', 5000);

// Funktion führt einen Redirect auf die übergebene URL durch
function redirect_to (destination) {
  window.location.href = destination;
}
// -->
</script>


¬ Insolvenzrecht