document.referrer
In vielen Fällen erhalten Sie die URL der letzten Seite, die der Benutzer besucht hat, wenn er durch Klicken auf einen Link zur aktuellen Seite gelangt ist (anstatt direkt in die Adressleiste zu tippen, oder ich glaube in einigen Fällen durch Senden eines Formulars?). Spezifiziert durch DOM Level 2 . Mehr hier.
window.history
Ermöglicht aus Sicherheits- und Datenschutzgründen die Navigation, jedoch nicht den Zugriff auf URLs in der Sitzung. Wenn ein detaillierterer URL-Verlauf verfügbar wäre, könnten auf jeder von Ihnen besuchten Website alle anderen Websites angezeigt werden, auf denen Sie gewesen sind.
Wenn Sie mit Statusverschiebungen auf Ihrer eigenen Site zu tun haben, ist es möglicherweise weniger fragil und sicherlich nützlicher, eine der normalen Sitzungsverwaltungstechniken zu verwenden: Cookie-Daten, URL-Parameter oder serverseitige Sitzungsinformationen.
document.referrer
nicht immer funktioniert.$.cookie("previousUrl", window.location.href, {path:"/"});
.Wenn Sie zur vorherigen Seite wechseln möchten, ohne die URL zu kennen, können Sie die neue Verlaufs-API verwenden.
Sie können den Inhalt des Verlaufsstapels jedoch nicht in einem Browser bearbeiten, der die HTML5-Verlaufs-API nicht unterstützt
Weitere Informationen finden Sie im Dokument
quelle
document.referrer
ist nicht in allen Situationen mit der tatsächlichen URL identisch.Ich habe eine Anwendung, in der ich ein Frameset mit 2 Frames erstellen muss. Ein Frame ist bekannt, der andere ist die Seite, von der aus ich verlinke. Dies scheint
document.referrer
ideal zu sein, da Sie den tatsächlichen Dateinamen nicht an das Frameset-Dokument übergeben müssen.Wenn Sie jedoch später die untere Frameseite ändern und dann verwenden
history.back()
, wird die Originalseite nicht in den unteren Frame geladen, sondern neu geladen.document.referrer
Infolgedessen ist das Frameset verschwunden und Sie kehren zum ursprünglichen Startfenster zurück.Ich habe eine Weile gebraucht, um das zu verstehen. Im Verlaufsarray
document.referrer
handelt es sich also nicht nur um eine URL, sondern anscheinend auch um die Referenzfenster-Spezifikation. Zumindest ist das der beste Weg, den ich derzeit verstehen kann.quelle
Wenn Sie eine Web-App oder eine Single-Page-Anwendung (SPA) schreiben, bei der das Routing in der App / im Browser statt auf einem Roundtrip zum Server erfolgt, können Sie Folgendes tun:
In Ihrer neuen Route können Sie dann die folgenden Schritte ausführen, um die vorherige URL abzurufen:
quelle
Diejenigen von Ihnen, die Node.js und Express verwenden, können ein Sitzungscookie setzen, das sich an die aktuelle Seiten-URL erinnert, sodass Sie den Verweis beim nächsten Laden der Seite überprüfen können. Hier ist ein Beispiel, das die
express-session
Middleware verwendet:Sie können dann prüfen, ob ein Referrer-Cookie wie folgt vorhanden ist:
Gehen Sie nicht davon aus, dass bei dieser Methode immer ein Referrer-Cookie vorhanden ist, da es in Fällen nicht verfügbar ist, in denen die vorherige URL eine andere Website war, die Sitzung bereinigt wurde oder nur erstellt wurde (erstmaliges Laden der Website).
quelle
document.referrer
dient Ihrem Zweck, funktioniert jedoch nicht für Internet Explorer-Versionen vor IE9.Es funktioniert für andere gängige Browser wie Chrome, Mozilla, Opera, Safari usw.
quelle
Dadurch wird zur zuvor besuchten URL navigiert.
quelle