Wie kann ich den Benutzer mit jQuery oder reinem JavaScript von einer Seite auf eine andere umleiten?
Antworten
Zu viele Anzeigen?Es sollte einfach möglich sein, mit window.location
.
Beispiel:
window.location = "https://stackoverflow.com/";
Hier ist ein früherer Beitrag zu diesem Thema: Wie kann ich auf eine andere Webseite umleiten?
Bevor ich beginne: jQuery ist eine JavaScript-Bibliothek, die zur DOM-Manipulation verwendet wird. Sie sollten also jQuery nicht für eine Seitenumleitung verwenden.
Ein Zitat von Jquery.com:
Während jQuery in älteren Browserversionen ohne größere Probleme laufen könnte, testen wir jQuery nicht aktiv in diesen Versionen und beheben im Allgemeinen keine Fehler die in diesen Versionen auftreten können.
Sie wurde hier gefunden: https://jquery.com/browser-support/
jQuery ist also kein Allheilmittel für die Abwärtskompatibilität.
Die folgende Lösung mit rohem JavaScript funktioniert in allen Browsern und ist seit langem Standard, so dass Sie keine Bibliotheken für die browserübergreifende Unterstützung benötigen.
Diese Seite wird weitergeleitet zu Google nach 3000 Millisekunden
<!DOCTYPE html>
<html>
<head>
<title>example</title>
</head>
<body>
<p>You will be redirected to google shortly.</p>
<script>
setTimeout(function(){
window.location.href="http://www.google.com"; // The URL that will be redirected too.
}, 3000); // The bigger the number the longer the delay.
</script>
</body>
</html>
Die verschiedenen Optionen sind wie folgt:
window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL
window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"
Wenn Sie die Ersetzung verwenden, kehrt die Schaltfläche "Zurück" nicht zur Umleitungsseite zurück, als ob sie nie im Verlauf gewesen wäre. Wenn Sie möchten, dass der Benutzer zur Weiterleitungsseite zurückkehren kann, verwenden Sie window.location.href
o window.location.assign
. Wenn Sie eine Option verwenden, mit der der Benutzer zur Umleitungsseite zurückkehren kann, denken Sie daran, dass Sie beim Aufrufen der Umleitungsseite wieder zurückgeleitet werden. Berücksichtigen Sie dies also bei der Auswahl einer Option für Ihre Weiterleitung. Wenn die Seite nur dann weitergeleitet wird, wenn der Benutzer eine Aktion ausführt, ist es in Ordnung, die Seite im Verlauf der Zurück-Schaltfläche zu haben. Wenn die Seite jedoch automatisch weiterleitet, sollten Sie die Option "Ersetzen" verwenden, damit der Benutzer die Schaltfläche "Zurück" verwenden kann, ohne dass er zu der Seite zurückkehren muss, die die Weiterleitung sendet.
Sie können auch Metadaten verwenden, um eine Seitenumleitung wie folgt durchzuführen.
META-Auffrischung
<meta http-equiv="refresh" content="0;url=http://evil.com/" />
META-Standort
<meta http-equiv="location" content="URL=http://evil.com" />
BASE-Entführung
<base href="http://evil.com/" />
Viele weitere Methoden, um Ihre ahnungslosen Kunden auf eine Seite umzuleiten, die sie vielleicht nicht besuchen wollen, finden Sie auf dieser Seite (keine davon ist auf jQuery angewiesen):
https://code.google.com/p/html5security/wiki/RedirectionMethods
Ich möchte auch darauf hinweisen, dass die Menschen es nicht mögen, willkürlich umgeleitet zu werden. Leiten Sie die Leute nur um, wenn es unbedingt nötig ist. Wenn Sie anfangen, Leute wahllos umzuleiten, werden sie nie wieder auf Ihre Website gehen.
Der nächste Absatz ist hypothetisch:
Sie können auch als bösartige Website gemeldet werden. Wenn dies geschieht, kann der Browser des Benutzers, wenn er auf einen Link zu Ihrer Website klickt, eine Warnung ausgeben, dass Ihre Website bösartig ist. Was auch passieren kann, ist, dass Suchmaschinen anfangen, Ihre Bewertung zu senken, wenn die Leute über schlechte Erfahrungen mit Ihrer Website berichten.
Bitte lesen Sie die Google Webmaster-Richtlinien über Weiterleitungen: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971
Hier ist eine lustige kleine Seite, die dich aus der Seite herauswirft.
<!DOCTYPE html>
<html>
<head>
<title>Go Away</title>
</head>
<body>
<h1>Go Away</h1>
<script>
setTimeout(function(){
window.history.back();
}, 3000);
</script>
</body>
</html>
Wenn Sie die beiden Seitenbeispiele miteinander kombinieren, haben Sie eine Endlosschleife von Umleitungen, die dafür sorgt, dass der Benutzer Ihre Website nie wieder benutzen will.