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

Zurück zur Übersicht aller Themen

Link-Targets und _blanker Unsinn

Irrtum 1: _new steht für ein neues Fenster

„Bei einem Link, dessen Zieldokument in einem neuen Fenster geöffnet werden soll, gibt man als Target-Attribut _new an.“ Auch wenn sich viele Menschen dies gleichzeitig ausgedacht haben und es vielleicht irgendwie logisch klingt: Es ist Unfug! Kein Standard und kein De-Facto-Standard.

Verwirrend, dass der Microsoft Internet-Explorer (z.B. MSIE 7) hier sogar den echten Standards folgt: Er behandelt beim Target-Attribut eines Links das Wort _new wie einen ganz normales Wort; wie einen ganz normalen Namen für ein Link-Ziel (Window oder Frames). Was das heißt, wird weiter unten klar.

Andere Browser, z.B. Firefox (1.5), haben die irrige Meinung vieler Designer zum „Pseudo-Standard“ erhoben und öffnen tatsächlich für jeden Link mit Target _new ein neues Fenster. So kann man natürlich auch Sonderfälle schaffen.

Wenn der Designer wirklich für jeden Link ein neues Browser-Fenster öffnen will, so definiert der Standard als Zauberwort allerdings nicht _new sondern _blank.

Irrtum 2: _blank ist viel besser

_blank hat im Gegensatz zu _new tatsächlich eine Daseinsberechtigung; diese aber auch nur in Sonderfällen. Wie oben angesprochen öffnet folgender Link das Ziel-Dokument in einem neuen Fenster:

<a href="buchen.html" target="_blank">Schöne Buchen</a>

Das ist aber oft auch nicht das, was die Besucherin einer Seite wirklich erwartet. Der Browser stellt Mittel genug zur Verfügung, um auf die Index-Seite zurückzuspringen. Clevere Benutzerinnen wissen sogar, wie man einen Link in einem neuen Fenster -- oder besser in einem neuen Tab -- öffnet. Kein Grund also, jemanden auf der Index-Seite festzuhalten und sternförmig für jeden Link ein neues Browser-Fenster zu öffnen.

Irrtum 3: Für das Link-Target gibt es nur ein paar gültige Werte

Wer immer noch der Meinung ist, er oder sie will den Besucher seines Website mit neuen Browser-Fenstern beehren, kann die Zahl der zusätzlichen Fenster eventuell auf eines beschränken. Im Folgenden wird beschrieben, wie das funktioniert. Ob das sinnvoll ist, muss der Designer letzten Endes entscheiden. Hier soll nur die Technik beschrieben werden.

Nehmen wir an, der Besucher läßt das zusätzliche Fenster auf und geht ([Alt]+[Tab]) auf die Index-Seite zurück. Dort klickt er auf einen weiteren Link. Für das Ziel dieses Links könnte man das zuvor geöffnete Extra-Fenster wiederverwenden. Dazu braucht man nur ein beliebiges Wort als Target-Namen zu verwenden. Die Wahl ist beliebig, wenn man von den den Schlüsselwörtern wie _self, _parent, _top oder _blank absieht. Und: Da, wie wir oben gesehen haben, manche Browser-Designer dem Wort _new eine Bedeutung eintrichtern wollen, sollten man _new niemals verwenden.

<a href="buchen.html" target="details">Schöne Buchen</a> <a href="eichen.html" target="details">Dicke Eichen</a> <a href="birken.html" target="details">Weiße Birken</a>

Wird einer der Links (z.B. „Schöne Buchen“) anklickt, so öffnet ein neues Browser-Fenster und zeigt die Datei buchen.html.

Läßt man dieses Fenster auf, geht zurück in das Browser-Fenster mit der Index-Seite und klickt dort einen weiteren Link (z.B. “Dicke Eichen“) an, dann wird das Ziel dieses Links den Inhalt im bisherigen Fenster ersetzen. Man beachte den Unterschied zum Link-Target _blank: Dieses würde noch ein neues, zusätzliches Fenster öffnen.

Zwischenbilanz

Bei der ersten Verwendung eines Nicht-Schlüsselwortes als Link-Target haben wir also ein neues Browser-Fenster geöffnet, welches nun nach dem Link-Target benannt ist. Bei weiteren Verwendungen des gleichen Target aktualisieren wir dieses Fenster.

Einen Nachteil hat die Sache allerdings: Diese Aktualisierung passiert wahrscheinlich im Hintergrund, sodass die Benutzerin glaubt, der Link habe nicht funktioniert.

Damit ist wieder mal ein Grund gegeben, kein Target (bzw. _self) anzugeben. Aber wir nehmen an es gibt einen Grund für das separate Fenster. Dann ist nur noch dem Besucher zu helfen, der Javascript (eingeschaltet) hat: Man muss das aktualisierte Fenster wieder in den Vordergrund bringen. Da man dazu ohnehin Javascript braucht, sind Pop-Ups dem einheitlichen Link-Target vorzuziehen.

Das aktualisierte Fenster in den Vordergrund bringen

Egal ob Pop-Up oder zusätzliches Fenster: Ein neues Browser-Fenster oder Pop-Up sollte nach dem Öffnen auch in den Vordergrund kommen. Wenn Javascript vorhanden ist, geht das mit der Methode

window.focus();

Es reicht, dieses als onLoad-Attribut des body zu definieren. Also z.B. im HTML selbst mit:

<body onLoad="window.focus()">

Fazit

© Hermann Faß, 2005