Tips für Web-Profis (Designer & HTML-Autoren)

Zurück zur Übersicht aller Themen

Der elende "Zurück"-Link

Eigentlich überflüssig ...

Technisch gesehen ist ein Link (Text / Button / Icon), mit dem man auf die zuvor aufgerufene Seite zurückspringen kann, nicht erforderlich. Alle Web-Browser haben Menufunktionen, Buttons oder Tastenkombinationen zum zurückblättern.


Mit der Löschtaste (Backspace) kann man bei vielen Browsern schnell auf die vorige Seite gelangen.

Zusätzliche Links auf die vorherige Seite dienen eher dem Design einer in sich schlüssigen Navigation. Das soll uns recht sein.

Keinesfalls sollte man die Funktionstüchtigkeit einer solchen Zurücknavigation von der Browserversion oder von den Browser-Einstellungen abhängig machen. Ein Link (Button/Icon) bei dem das Anklicken nichts bewirkt, weil Javascript nicht verfügbar ist, ist amateurhaft. In dem Fall sollte er zumindest gar nicht erst erscheinen.

<a href="Javascript:history.back()"> ist also keine Lösung.

Wer nun denkt "Aber für Popup-Fenster brauchen die Besucher meiner Website ja sowieso Javascript", dem wird unter der Kolumne Pop-Up-Fenster geholfen.

... aber ordentlich machbar ist es doch

Des Rätsels Lösungen sind wie so oft einfach:

Lösung 1: Die Ausgabe des Javascript-Back-Links selbst mit Javascript schreiben

In diesem Fall wird er bei fehlender Javascript-Unterstützung gar nicht angezeigt. Das ist eine einfache und gar nicht mal so schlechte Lösung. In der HTML-Seite sieht das dann so aus:

<script language="Javascript"><!--
document.writeln("<a href='Javascript:history.back()'>Retour</a>");
//--> </script>

Es funktioniert tatsächlich mit vielen Browsern. Test:

Man könnte es aber unter Umständen keinem Browser verübeln, wenn er sich bei diesem doppelt geparsten Javascript querstellt. Damit ist diese Lösung nicht www-tauglich. Es gibt einen Anwendungsfall für diese Vorgehensweise, den ich aber hier nicht langatmig beschreiben will. Aber in 99% der Fälle ist die folgende Lösung die Bessere.

Lösung 2: Einfacher HTML-Link mit definiertem onClick-Event

Es wird ein ganz normaler, statischer HTML-Link auf die vorhergehende Seite verwendet. Als onClick-Event wird angegeben, dass der Browser in der History einen Schritt zurückspringen soll, also
history.back().

Das sieht dann wie folgt aus:

<a href="index.html"
   onClick="Javascript:history.back();return(false);">Retour</a>

Diskussion:

Wenn Javascript nicht verfügbar oder de-aktiviert ist, wird der (statische) HTML-Link in Lösung 2 immer auf die gleiche Seite zeigen. Wenn eine Seite von mehreren anderen Seiten verlinkt ist, kann dies zu Verwirrungen führen: Die Besucherin landet dann eventuell auf einer anderen Seite als der, von der sie kam. Hier bleibt abzuwägen, ob Lösung 1 (s.o.) vielleicht die bessere Variante ist: Sie zwingt die Besucherin, den Zurück-Knopf des Browsers zu verwenden, wenn Javascript nicht verfügbar ist.

In jedem Fall sind beide Lösungen besser, als der allseits beliebte einfache Link nach Javascript:history.back().

© Hermann Faß, 2003