Gibt es eigentlich wirklich keine Methode einen Link auf Clientseite im neuen Tab öffnen zu lassen? Ich habe mir nach einem meiner Streifzüge durchs XHTMLForum, und einigen Threads über pro & contra target=“_blank“ mal einige Gedanken gemacht. Die Links auf meiner Seite gehen in neuen Fenstern auf. Dies wird per JavaScript gelöst, mit einer Methode die ich hier bereits einmal beschrieben habe.
Ich löse das auf diese Art, da ich denke das ein halbwegs schlauer (Firefox/Opera/Safari) User an der Statuszeile erkennen kann, dass es sich beim entsprechenden Link um einen externen Verweis handelt. Ich jedenfalls achte auf sowas wenn ich einen Link anklicke. In 99% aller Fälle klicke ich dann mit der mittleren Maustaste auf diesen Link, um einen neuen Tab zu erzwingen.
Da ich davon ausgehe, dass ein User entsprechende Links im Artikel anklickt, während er den Artikel noch zuende liest, lasse ich diese Links vorsichtshalber im neuen Fenster aufgehen. Dies kann bei Artikeln mit vielen externen Quellen schnell recht unübersichtlich werden. Gerne würde ich daher diese Methode austauschen, gegen eine, bei der sich die Links im neuen TAB öffnen.
Mir ist bisher keine Möglichkeit bekannt (ausser demnächst mittels CSS3, worüber ich später an dieser Stelle noch ausführlicher schreiben werde), mit der mein Vorhaben zu realisieren wäre. Auch in Foren sagte man mir das dies nicht möglich wäre. Nun habe ich bereits einige Firefox Extensions gesehen, die ja nunmal mit XUL laufen, welche die Links einer Seite in neuen Tabs öffnet (Bookmarks Home, Tabbrowser-Preferences, …).
Diese Technik müsste sich meiner Meinung nach prinzipiell ja adaptieren, und in Webpräsenzen einsetzen lassen. Ich habe mich bisher allerdings erst sehr wenig mit XUL-Applikationen auseinandergesetzt. Daher hoffe ich das sich unter den Lesern dieses Artikels einige befinden, die bereits XUL entwickelt haben, und evtl. einige Erläuterungen dazu abgeben können.
Eine andere Möglichkeit welche ich mir gerade überlegt habe ist folgende: Im Firefox lässt sich ein neuer Tab mittels STRG-Taste erzwingen. Unter JavaScript gibt es eine Möglichkeit einer Aktion Tasten zuzuweisen (event.keyCode
). Die STRG-Taste wäre in diesem Fall event.keyCode == 17
.
Meine Überlegung die URL des Links als Argument an eine Funktion zu übergeben, in dieser Funktion dann den keyCode 17, also den der STRG-Taste aufzurufen, und direkt danach per window.open den Link zu öffnen führte leider nicht zum gewünschten Ergebnis.
<script type="text/javascript">
function openTab(url) {
event.keyCode = 17;
window.open(url);
}
</script>
<a onclick="openTab(this.href); return false;" href="http://www.google.de">google</a>
Ausserdem weiß ich nicht wie das bei Mac-Usern wirken würde, diese ja keine STRG-Taste zur Verfügung haben.
Auch wenn ich nicht gerade Fan davon bin den Usern die Entscheidung abzunehmen wie ein Link geöffnet werden soll, so möchte ich schon das ein User nicht irrtümlich meine Seite (unerwünscht) verlässt indem er einen Link anklickt, aber Ihn gleichzeitig auch nicht mit einer Flut von PopUps überhäufen.
Daher würde ich hier an dieser Stelle gerne die Diskussion starten, ob wir als Webentwickler wirklich auf CSS 3 warten müssen oder ob es irgendeine (wenn auch noch so skurrile) Möglichkeit gibt Verweise in Tabs zu öffnen. Über hilfreiche Kommentare jeglicher Art würd ich mich freuen. Ansonsten wünsche ich euch ein frohes Pfingstwochenende!