JavaScript History Objekt

In der JavaScript Objekthierarchie liegt das History-Objekt direkt unterhalb des JavaScript Objekts Window. Das History-Objekt bietet Methoden, die eine Navigation zwischen den bis dato in einem Browserfenster geöffneten Internetseiten ermöglichen. Allerdings ist es mit dem History-Objekt nicht möglich direkt auf die Liste der zuvor geöffneten URIs zuzugreifen – die URIs können also nicht ausgelesen werden.

Mit Hilfe des History-Objekts lassen sich Navigationselemente wie beispielsweise "zur vorherigen Seite" realisieren. Auch ist es damit möglich komplexere Navigationsstrukturen umzusetzen. Nutzt eine Seite beispielsweise Frames und werden bei den einzelnen Navigationsschritten mehrere Frames gleichzeitig ausgetauscht, so wird ein einfacher Klick auf den Back-Button des Browsers nicht zum gewünschten Ergebnis führen. Der vorherige Zustand des Seiteninhalts ist dann erst nach mehrmaligem Klick auf den Back-Button wieder hergestellt.

Dieses Verhalten läßt sich nun mit JavaScript vereinfachen. So kann auf der Seite ein Link zur Verfügung gestellt werden, der mit einem einzigen Klick auf diesen Link mehrere Navigationsschritte hintereinander rückgängig macht.

Eine Browseranwendung speichert jeden einzelnen Seitenaufruf – genauer gesagt die jeweilige URI (s. a. Objekt Location mit seiner Eigenschaft href) einer jeden Seite – in der Browser-Historie. Bei jedem Seitenaufruf wird die Historie um die aufgerufene Seite erweitert. Wird das Browserfenster geschlossen, so geht auch die unter JavaScript nutzbare Historie der bisher geöffneten Seiten verloren. In der Historie der Browseranwendung bleiben die Einträge allerdings weiterhin erhalten.

History besitzt lediglich eine Eigenschaft. Die Eigenschaft length enthält die Anzahl der Einträge in der Browser-Historie. Dabei handelt es sich nicht um die Anzahl der Einträge in der Gesamthistorie der Browseranwendung. Nur die Einträge seit Öffnen des Browserfensters sind für JavaScript nutzbar.

Das History-Objekt besitzt darüber hinaus die drei Methoden back(), forward() und go(). Back und Forward entsprechen der Funktionalität nach den Buttons "Eine Seite zurück" (s. a. window.back()) und "Eine Seite vor" der Browseranwendung. Mit der Methode go() ist es möglich direkt zu einer zuvor aufgerufenen Seite zu gelangen. Dabei können Sie sich in der Historie vor- wie auch zurückbewegen – die Anzahl der Schritte wird der Methode als Parameter übergeben. Die einzelnen Zwischenschritte (Seiten die dazwischen aufgerufen wurden) werden dabei übersprungen.

JavaScript History Beispiel

Das folgende Beispiel erzeugt zwei Links, mit deren Hilfe die Navigation per JavaScript Historie ermöglicht wird. Im JavaScript-Block weiter unten wird dann mit document.write() die per length-Eigenschaft ermittelte Anzahl der in der Historie gespeicherten Einträge ausgegeben.

<a href="javascript:history.back()" title="">Eine Seite zur&uuml;ck in der Historie</a><br>
<a href="javascript:history.forward()" title="">Eine Seite vorw&auml;rts in der Historie</a><br>
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Anzahl der Einträge in der Historie ausgeben
document.write ('Eintr&auml;ge in der Historie: ' + history.length);
// -->
</script>

Eine Seite zurück in der Historie
Eine Seite vorwärts in der Historie

Letzte Posts aus unserem Forum

Probleme mit iphone

Hallo, ich habe ein Problem bei der Darstellung einer Webseite. In allen Browsern hat das bisher bestens funktioniert außer beim iPhone und iPad, wo ... » mehr

von Finlay am Dienstag, 10. Juli 2012 19:45 in JavaScript - noch nicht beantwortet

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Dienstag, 8. Mai 2012 16:04 von maharadja

ich habe das mal mit jplayer probiert und bei mir gings ... » mehr

Byte Array PDF im Browser anzeigen

Hallo, ich bekomme von einem Webservice ein PDF als Byte Array. Mit einem JsonP Request habe ich das Byte Array so wie es ist (als Array von Bytes) ... » mehr

von TiloS am Mittwoch, 11. April 2012 17:37 in JavaScript - noch nicht beantwortet

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet


¬ Insolvenzrecht