it-swarm.com.de

Wie kann ich jemanden automatisch auf eine andere Webseite umleiten?

Ich habe JavaScript noch nie gelernt, aber ich kann mir vorstellen, dass dies ein einfaches Problem ist. Ich wollte nur wissen, welche Methode in diesen Tagen am meisten empfohlen wird.

40
Alistair
// use this to avoid redirects when a user clicks "back" in their browser
window.location.replace('http://somewhereelse.com');

// use this to redirect, a back button call will trigger the redirection again
window.location.href = "http://somewhereelse.com";

// given for completeness, essentially an alias to window.location.href
window.location = "http://somewhereelse.com";

edit : Anscheinend hat der Benutzer, der die bessere Antwort gepostet hat, SO verlassen, ich habe seine Antworten hier konsolidiert.

92
Owen

Am meisten empfohlen? Um es nicht zu tun. HTTP ist weit besser für den Job geeignet als JavaScript (Suchmaschinen folgen ihnen, Sie können angeben, ob es permanent ist oder nicht, sie sind schneller etc).

Gelingt das nicht ...

Wenn Sie eine sofortige Weiterleitung wünschen:

window.location.replace('http://example.com/');

Dadurch wird die aktuelle URI durch die neue URI im Browserverlauf ersetzt, sodass der Benutzer mit der Zurück-Schaltfläche nicht auf einer Seite landet, die ihn sofort wieder vorwärts wirft.

Wenn Sie nicht wirklich umleiten möchten, aber den Benutzer als Antwort auf ein Ereignis an einen anderen Ort senden möchten:

window.location.href = 'http://example.com/';

Denken Sie daran, einen Nicht-JavaScript-Fallback zu verwenden. Ein Link ist normalerweise die beste Option, hängt jedoch vom Kontext ab.

Zeitverzögerte Weiterleitungen sind eine noch schlechtere Idee. Der einzige Grund, sie zu verwenden, ist, wenn Sie dem Benutzer eine Nachricht anzeigen möchten - und Benutzer lesen die Dinge mit unterschiedlicher Geschwindigkeit (und lassen sie auf einer anderen Registerkarte sitzen, während sie etwas anderes tun). Wenn die Nachricht wichtig genug ist, um angezeigt zu werden, sollte sie wichtig genug sein, um auf dem Bildschirm zu bleiben, bis der Benutzer sie gelesen und auf einen Link zur nächsten Seite geklickt hat.

25
Quentin

Wenn Sie eine Seite mit JavaScript umleiten, ist es wichtig, immer eine Nicht-JavaScript-Weiterleitung anzugeben! Ein Link würde oder besser ein <META>-Tag sein, zum Beispiel: <meta http-equiv="refresh" content="2;url=http://example.com">

5
user7094

In diesen Tagen denke ich, ist die am meisten empfohlene Methode keine Javascript (oder Meta) Weiterleitungen. Brauchen Sie es wirklich? Könnten Sie stattdessen einen HTTP-Header für die Weiterleitung verwenden?

Die W3C-Richtlinien für barrierefreie Webinhalte (7.4) raten auch davon ab, Seiten mit automatischer Aktualisierung zu erstellen, da die meisten Webbrowser dem Benutzer nicht erlauben, die Aktualisierungsrate zu deaktivieren oder zu steuern

4
Guido

Sie können dies auch mit lokalen Dateien tun

0
Maybegus