Wie kann ich den Benutzer mit jQuery oder reinem JavaScript von einer Seite auf eine andere umleiten?
javascript
jquery
redirect
Venkatachalam
quelle
quelle
window.location
ist das gleiche wiewindow.location.href
in Bezug auf das Verhalten.window.location
gibt ein Objekt zurück. Wenn.href
nicht festgelegt, wirdwindow.location
standardmäßig der Parameter geändert.href
. Fazit: Verwenden Sie eine der beiden ist in Ordnung.Antworten:
Man leitet nicht einfach mit jQuery um
jQuery ist nicht erforderlich und
window.location.replace(...)
simuliert am besten eine HTTP-Umleitung.window.location.replace(...)
ist besser als zu benutzenwindow.location.href
, weilreplace()
die Ursprungsseite nicht im Sitzungsverlauf bleibt, was bedeutet, dass der Benutzer nicht in einem endlosen Fiasko mit den Zurück-Schaltflächen stecken bleibt.Wenn Sie jemanden simulieren möchten, der auf einen Link klickt, verwenden Sie
location.href
Wenn Sie eine HTTP-Umleitung simulieren möchten, verwenden Sie
location.replace
Zum Beispiel:
quelle
$(location).attr('href',url);
.window.location.href
scheint in einigen Browsern ein unbeständiges Verhalten zu haben, tatsächlich funktioniert es in meiner Version von Firefox nicht. Ich habe gehört, dass die Einstellungwindow.location
in IE-Versionen direkt nicht funktioniert.WARNUNG: Diese Antwort wurde lediglich als mögliche Lösung angegeben. Es ist offensichtlich nicht die beste Lösung, da es jQuery erfordert. Bevorzugen Sie stattdessen die reine JavaScript-Lösung.
quelle
window.location
es kein Element ist und daher keine Attribute hat..attr()
tatsächlich Attribute (dh.setAttribute()
) festgelegt werdenStandard "Vanille" JavaScript-Methode zum Umleiten einer Seite
Oder einfacher: (da
window
ist Global)Der folgende Abschnitt richtet sich an Personen,
HTTP_REFERER
die eine von vielen Sicherheitsmaßnahmen verwenden (obwohl dies keine großartige Schutzmaßnahme ist). Wenn Sie Internet Explorer 8 verwenden oder niedriger verwenden, gehen diese Variablen verloren, wenn Sie eine JavaScript-Seitenumleitung (location.href usw.) verwenden.Im Folgenden werden wir eine Alternative für IE8 und niedriger implementieren , damit wir HTTP_REFERER nicht verlieren. Ansonsten können Sie fast immer einfach verwenden
window.location.href
.Durch Testen
HTTP_REFERER
(URL-Einfügen, Sitzung usw.) kann festgestellt werden , ob eine Anforderung legitim ist. ( Hinweis: Es gibt auch Möglichkeiten, diese Verweise zu umgehen / zu fälschen, wie durch den Link von droop in den Kommentaren angegeben.)Einfache browserübergreifende Testlösung (Fallback auf window.location.href für Internet Explorer 9+ und alle anderen Browser)
Verwendungszweck:
redirect('anotherpage.aspx');
quelle
location.assign
? Ich verwende in meiner App IE8 und verliere denHTTP_REFERER
Header nicht.Es gibt viele Möglichkeiten, dies zu tun.
quelle
window.navigate
ist nur für den alten IE (Firefox / Chrome unterstützen dies nicht). Wenn Sie alle Optionen auflisten möchten, vergessen Sie nichtdocument.location
.Dies funktioniert für jeden Browser:
quelle
document.location.replace(redirectURL)
wenn Sie nicht möchten, dass die erste Seite im Browserverlauf angezeigt wirdEs wäre hilfreich, wenn Sie etwas aussagekräftiger wären, was Sie versuchen zu tun. Wenn Sie versuchen, ausgelagerte Daten zu generieren, gibt es einige Optionen, wie Sie dies tun. Sie können für jede Seite, auf die Sie direkt zugreifen möchten, separate Links erstellen.
Beachten Sie, dass die aktuelle Seite im Beispiel im Code und mit CSS unterschiedlich behandelt wird.
Wenn Sie möchten, dass die ausgelagerten Daten über AJAX geändert werden, kommt jQuery hier ins Spiel. Sie fügen jedem der Ankertags, die einer anderen Seite entsprechen, einen Klick-Handler hinzu. Dieser Klick-Handler ruft einen jQuery-Code auf, der die nächste Seite über AJAX abruft und die Tabelle mit den neuen Daten aktualisiert. Im folgenden Beispiel wird davon ausgegangen, dass Sie über einen Webdienst verfügen, der die neuen Seitendaten zurückgibt.
quelle
Ich denke auch, dass dies
location.replace(URL)
der beste Weg ist, aber wenn Sie die Suchmaschinen über Ihre Umleitung informieren möchten (sie analysieren keinen JavaScript-Code, um die Umleitung zu sehen), sollten Sie den hinzufügenrel="canonical"
Meta-Tag zu Ihrer Website .Das Hinzufügen eines Noscript-Abschnitts mit einem HTML-Aktualisierungs-Meta-Tag ist ebenfalls eine gute Lösung. Ich empfehle Ihnen, dieses JavaScript-Umleitungstool zu verwenden , um Umleitungen zu erstellen. Es hat auch Internet Explorer-Unterstützung, um den HTTP-Referrer zu übergeben.
Beispielcode ohne Verzögerung sieht folgendermaßen aus:
quelle
Wenn jemand jedoch zur Startseite zurückkehren möchte, kann er das folgende Snippet verwenden.
Es wäre hilfreich, wenn Sie drei verschiedene Umgebungen als Entwicklung, Bereitstellung und Produktion haben.
Sie können dieses window oder window.location-Objekt erkunden, indem Sie diese Wörter einfach in die Chrome Console oder die Firebug -Konsole einfügen .
quelle
window.location = '/'
JavaScript bietet Ihnen viele Methoden zum Abrufen und Ändern der aktuellen URL, die in der Adressleiste des Browsers angezeigt wird. Alle diese Methoden verwenden das Location-Objekt, das eine Eigenschaft des Window-Objekts ist. Sie können ein neues Standortobjekt mit der aktuellen URL wie folgt erstellen.
Grundstruktur einer URL
Protokoll - Gibt den Protokollnamen an, mit dem auf die Ressource im Internet zugegriffen werden soll. (HTTP (ohne SSL) oder HTTPS (mit SSL))
Hostname - Der Hostname gibt den Host an, dem die Ressource gehört. Zum Beispiel www.stackoverflow.com. Ein Server stellt Dienste unter Verwendung des Hostnamens bereit.
port - Eine Portnummer, mit der ein bestimmter Prozess erkannt wird, an den eine Internet- oder andere Netzwerknachricht weitergeleitet werden soll, wenn sie auf einem Server eintrifft.
Pfadname - Der Pfad enthält Informationen zu der spezifischen Ressource innerhalb des Hosts, auf die der Webclient zugreifen möchte. Zum Beispiel stackoverflow.com/index.html.
Abfrage - Eine Abfragezeichenfolge folgt der Pfadkomponente und stellt eine Informationszeichenfolge bereit, die die Ressource für einen bestimmten Zweck verwenden kann (z. B. als Parameter für eine Suche oder als zu verarbeitende Daten).
Hash - Der Ankerteil einer URL enthält das Hash-Zeichen (#).
Mit diesen Standortobjekteigenschaften können Sie auf alle diese URL-Komponenten zugreifen
Wenn Sie eine Seite ändern oder den Benutzer auf eine andere Seite umleiten möchten, können Sie die
href
Eigenschaft des Location-Objekts wie folgt verwendenSie können die Eigenschaft href des Location-Objekts verwenden.
Location Object verfügt auch über diese drei Methoden
Sie können die Methoden assign () und replace verwenden, um auch auf andere Seiten wie diese umzuleiten
Unterschiede zwischen assign () und replace () - Der Unterschied zwischen der replace () -Methode und der assign () -Methode () besteht darin, dass replace () die URL des aktuellen Dokuments aus dem Dokumentverlauf entfernt und daher nicht verwendet werden kann Klicken Sie auf die Schaltfläche "Zurück", um zum Originaldokument zurückzukehren. Verwenden Sie daher die Methode assign (), wenn Sie ein neues Dokument laden möchten, und möchten Sie die Option geben, zum Originaldokument zurückzukehren.
Sie können die Eigenschaft href des Standortobjekts mit jQuery auch so ändern
Und daher können Sie den Benutzer zu einer anderen URL umleiten.
quelle
Grundsätzlich ist jQuery nur ein JavaScript- Framework und dient zum Ausführen einiger Dinge wie der Umleitung in diesem Fall auszuführen, können Sie nur reines JavaScript verwenden. In diesem Fall haben Sie also drei Optionen mit Vanille-JavaScript:
1) Unter Verwendung Standort ersetzen , wird dies die aktuelle Geschichte der Seite zu ersetzen, bedeutet , dass es nicht möglich ist , die zu verwenden zurück , um zur ursprünglichen Seite zurückzukehren.
2) Mit Standort assign , das wird die Geschichte für Sie hält und mit Zurück - Taste verwenden, können Sie auf die Originalseite zurück:
3) Ich empfehle die Verwendung einer dieser vorherigen Methoden, dies könnte jedoch die dritte Option sein, die reines JavaScript verwendet:
Sie können auch eine Funktion in jQuery schreiben, um damit umzugehen, dies wird jedoch nicht empfohlen, da es sich nur um eine einzeilige reine JavaScript-Funktion handelt. Sie können auch alle oben genannten Funktionen ohne Fenster verwenden, wenn Sie sich beispielsweise bereits im Fensterbereich
window.location.replace("http://stackoverflow.com");
befindenlocation.replace("http://stackoverflow.com");
Außerdem zeige ich sie alle auf dem Bild unten:
quelle
assign()
over,href=
da letzteres in einigen Fällen bei mir nicht richtig funktioniert hat.Sollte nur in der Lage sein, mit einzustellen
window.location
.Beispiel:
Hier ist ein früherer Beitrag zum Thema: Wie leite ich zu einer anderen Webseite weiter?
quelle
Bevor ich anfange, ist jQuery eine JavaScript-Bibliothek, die für die DOM-Manipulation verwendet wird. Sie sollten jQuery also nicht für eine Seitenumleitung verwenden.
Ein Zitat von Jquery.com:
Es wurde hier gefunden: https://jquery.com/browser-support/
JQuery ist also keine Komplettlösung für die Abwärtskompatibilität.
Die folgende Lösung mit rohem JavaScript funktioniert in allen Browsern und ist seit langem Standard, sodass Sie keine Bibliotheken für die browserübergreifende Unterstützung benötigen.
Diese Seite wird nach 3000 Millisekunden zu Google weitergeleitet
Es gibt verschiedene Möglichkeiten:
Wenn Sie "Ersetzen" verwenden, kehrt die Schaltfläche "Zurück" nicht zur Umleitungsseite zurück, als wäre sie nie im Verlauf enthalten. Wenn Sie möchten, dass der Benutzer zur Umleitungsseite zurückkehren kann, verwenden Sie
window.location.href
oderwindow.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 zurückgeleitet werden. Berücksichtigen Sie dies, wenn Sie eine Option für Ihre Weiterleitung auswählen. Unter Bedingungen, bei denen die Seite nur umgeleitet 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 umgeleitet wird, sollten Sie Ersetzen verwenden, damit der Benutzer die Schaltfläche "Zurück" verwenden kann, ohne zu der Seite zurückgedrängt zu werden, die die Umleitung sendet.Sie können auch Metadaten verwenden, um eine Seitenumleitung wie folgt auszuführen.
META aktualisieren
META Standort
BASE Hijacking
Auf dieser Seite finden Sie viele weitere Methoden, um Ihren ahnungslosen Client auf eine Seite umzuleiten, die er möglicherweise nicht besuchen möchte (keine davon ist auf jQuery angewiesen):
Ich möchte auch darauf hinweisen, dass die Leute nicht zufällig umgeleitet werden möchten. Leiten Sie Personen nur dann weiter, wenn dies unbedingt erforderlich ist. Wenn Sie zufällig Personen umleiten, werden diese nie wieder auf Ihre Website gelangen.
Der nächste Absatz ist hypothetisch:
Möglicherweise werden Sie auch als schädliche Website gemeldet. In diesem Fall warnt der Benutzerbrowser die Benutzer, wenn sie auf einen Link zu Ihrer Website klicken, dass Ihre Website böswillig ist. Was auch passieren kann, ist, dass Suchmaschinen Ihre Bewertung möglicherweise verlieren, wenn Leute eine schlechte Erfahrung auf Ihrer Website melden.
Bitte lesen Sie die Google Webmaster-Richtlinien zu Weiterleitungen: https://support.google.com/webmasters/answer/2721217?hl=de&ref_topic=6001971
Hier ist eine lustige kleine Seite, die dich aus der Seite wirft.
Wenn Sie die beiden Seitenbeispiele miteinander kombinieren, erhalten Sie eine kleine Umleitungsschleife, die garantiert, dass Ihr Benutzer Ihre Website nie wieder verwenden möchte.
quelle
quelle
Sie können dies ohne jQuery tun als:
Und wenn Sie nur jQuery möchten, können Sie dies wie folgt tun:
quelle
Dies funktioniert mit jQuery:
quelle
window.location
# HTML-Seitenumleitung mit jQuery / JavaScript
Versuchen Sie diesen Beispielcode:
Wenn Sie eine vollständige URL als angeben möchten
window.location = "www.google.co.in";
.quelle
Sie müssen diese Zeile in Ihren Code einfügen:
Wenn Sie nicht über jQuery verfügen, verwenden Sie JavaScript:
quelle
Ursprüngliche Frage: "Wie leite ich mit jQuery um?", Daher implementiert die Antwort jQuery >> Kostenloser Anwendungsfall.
So leiten Sie einfach mit JavaScript auf eine Seite um:
Oder wenn Sie eine Verzögerung benötigen:
Mit jQuery können Sie problemlos Elemente von einer Webseite auswählen. Sie können auf einer Seite alles finden, was Sie möchten, und dann mit jQuery Spezialeffekte hinzufügen, auf Benutzeraktionen reagieren oder Inhalte innerhalb oder außerhalb des ausgewählten Elements ein- und ausblenden. Alle diese Aufgaben beginnen mit dem Wissen, wie ein Element oder ein Ereignis ausgewählt wird .
Stellen Sie sich vor, jemand hat ein Skript / Plugin mit 10000 Codezeilen geschrieben. Mit jQuery können Sie mit nur ein oder zwei Zeilen eine Verbindung zu diesem Code herstellen.
quelle
Die Frage ist also, wie man eine Weiterleitungsseite erstellt und nicht wie man auf eine Website umleitet.
Sie müssen hierfür nur JavaScript verwenden. Hier ist ein winziger Code, der eine dynamische Umleitungsseite erstellt.
Angenommen, Sie fügen dieses Snippet einfach in eine
redirect/index.html
Datei auf Ihrer Website ein und können es so verwenden.Wenn Sie zu diesem Link gehen, werden Sie automatisch zu stackoverflow.com weitergeleitet .
Und so erstellen Sie eine einfache Weiterleitungsseite mit JavaScript
Bearbeiten:
Es gibt auch eine Sache zu beachten. Ich habe hinzugefügt ,
window.location.replace
in meinem Code , weil ich denke , dass es eine Umleitung Seite paßt, aber Sie müssen wissen , dass bei der Verwendungwindow.location.replace
und Sie erhalten umgeleitet, wenn Sie die Zurück - Taste in Ihrem Browser drücken wird es nicht zur Umleitungsseite zurückgekehrt wird Gehen Sie zurück zu der Seite davor und schauen Sie sich diese kleine Demo-Sache an.Beispiel:
Wenn dies Ihren Bedürfnissen entspricht, sollte alles in Ordnung sein. Wenn Sie die Weiterleitungsseite in den Browserverlauf aufnehmen möchten, ersetzen Sie diese
mit
quelle
Fügen Sie in Ihrer Klickfunktion einfach Folgendes hinzu:
quelle
Versuche dies:
Codefragment eines Beispiels .
quelle
jQuery wird nicht benötigt. Du kannst das:
So einfach ist das!
Der beste Weg, um eine HTTP-Anfrage zu initiieren, ist mit
document.loacation.href.replace('URL')
.quelle
Schreiben Sie zuerst richtig. Sie möchten innerhalb einer Anwendung nach einem anderen Link suchen, während Ihre Anwendung nach einem anderen Link sucht. Hier ist der Code:
Und wenn Sie durch Seiten in Ihrer Anwendung navigieren möchten, habe ich auch Code, wenn Sie möchten.
quelle
Sie können in jQuery wie folgt umleiten:
quelle
In JavaScript und jQuery können wir den folgenden Code verwenden, um die eine Seite auf eine andere Seite umzuleiten:
quelle
ECMAScript 6 + jQuery, 85 Byte
Bitte töte mich nicht, das ist ein Witz. Es ist ein Witz. Das ist ein Witz.
Dies lieferte "eine Antwort auf die Frage" in dem Sinne, dass nach einer Lösung "mit jQuery" gefragt wurde, die in diesem Fall dazu führt, dass sie irgendwie in die Gleichung gezwungen wird.
Ferrybig muss anscheinend den Witz erklären (immer noch ein Scherz, ich bin sicher, es gibt nur begrenzte Optionen auf dem Überprüfungsformular), also ohne weiteres:
Andere Antworten verwenden unnötigerweise jQuery's
attr()
für dielocation
oderwindow
Objekte.Diese Antwort missbraucht es auch, aber auf lächerlichere Weise. Anstatt den Standort festzulegen
attr()
, wird hiermit eine Funktion abgerufen, mit der der Standort festgelegt wird.Die Funktion wird benannt
jQueryCode
, obwohl nichts jQuery daran ist, und eine Funktion aufgerufensomethingCode
ist einfach schrecklich, insbesondere wenn das Etwas nicht einmal eine Sprache ist.Die "85 Bytes" beziehen sich auf Code Golf. Golfen ist offensichtlich nichts, was Sie außerhalb von Code-Golf tun sollten, und außerdem ist diese Antwort eindeutig nicht wirklich Golf.
Grundsätzlich zusammenzucken.
quelle
Javascript:
Jquery:
quelle
Verwenden von JavaScript:
Methode 1:
Methode 2:
Verwenden von jQuery:
Methode 1: $ (Ort)
Methode 2: Wiederverwendbare Funktion
quelle
Hier ist eine zeitverzögerte Umleitung. Sie können die Verzögerungszeit auf einen beliebigen Wert einstellen:
quelle
Es gibt drei Möglichkeiten, dies zu tun:
und...
Die letzte ist für eine herkömmliche Weiterleitung am besten geeignet, da die Seite, zu der Sie gegangen sind, bevor sie in Ihrem Suchverlauf umgeleitet wurde, nicht gespeichert wird. Wenn Sie jedoch nur eine Registerkarte mit JavaScript öffnen möchten, können Sie eine der oben genannten Methoden verwenden. 1
BEARBEITEN: Das
window
Präfix ist optional.quelle