pixelpainter - Design ist die Kunst, Funktion mit Ästhetik zu verbinden

Das Attribut „Target“ existiert in XHTML nicht mehr

Hat sich die W3C etwas dabei gedacht hat, als diese das Target-Attribut aus dem Standard entfernt hat?

Sicherlich hat es das, ich denke allerdings es hat nicht weit genug gedacht. Natürlich sind die Zeiten vorbei in denen man mit Frames gearbeitet hat und das Target-Attribut „_blank“ benötig hat, um externe Seite in einem neuen Fenster oder einem neuen Browser-Tab anzusprechen. Aber ist es deshalb wirklich überflüssig geworden?

Auch wurde mit dem Einsatz des CMS-Systemes „cms-db“ (CMS ohne Datenbank) genau mit dieser Problematik konfrontiert. Zu Recht achtet der Entwickler darauf einen wirklich validen Code zu generieren und dabei darf und kann eiben kein Target-Attribut verwendet werden. Alle aufgerufenen Seiten öffnen sich im selben Fenster oder Browser-Tab. Die Verwendung der Target-Attribute „_selfe“ oder „_blank“ scheinen zunächst überflüssig.

In diesem Zusammenhang kam auch der Blog von „Peter Kröner“ ins Spiel. Er ist nach meinen Recherchen der bislang deutlichste Verfechter (in deutscher Sprache) gegen das Target-Attribut. Auch zahlreiche Kommentare scheinen diese Meinung zunächst zu unterstreichen.

Auch ich habe meine Überlegungen noch einmal überdacht und auch mit mehreren Personen darüber gesprochen. Mein Ergebnis: zumindest das Target-Attribut „_blank“ ist unverzichtbar. Viele User haben keine Ahnung, dass man über das Kontextmenü des Browsers jede Seite in einem neuen Tab oder Browserfester öffnen kann. Zahlreiche User sind auch einfach zu bequem sich darüber Gedanken machen zu müssen, da immerhin bis heute die Mehrzahl der Webentwickler und Webdesigner noch immer das Target-Attribut „_blank“ verwenden. Es ist einfach praktisch wenn fremde Seite (und NUR diese) getrennt geöffnet werden und bei Nichtgefallen getrennt von der ursprünglich besuchten Seite geschlossen werden können.

Wer also valides XHTML verwenden möchte und dennoch fremde Seiten, ähnlich dem Target-Attribut „_blank“, in einem neuen Fenster öffnen möchte, der kommt um JavaScript nicht herum.

Üblich verwendeter JavaScript-Code wäre jedoch weder suchmaschinenfreundlich und könnte bei abgeschaltetem JavaScript zudem dazu führen, dass der externe Link weder in selben, noch in einem neuen Fenster oder Browser-Tab geöffnet wird. Aber, es gibt eine Lösung.

Gibt man dem Link einen „rel-Tag“ mit, kann dieser mittels einem externen JavaScript so gewandelt werden, dass sich der Link in einem neuen Fenster öffnet. Ist JavaScript abgeschaltet, verhält sich der Link wie ein „normaler“ Link und öffnet sich im selben Fenster.

Dieses JavaScript muss in ein externes JavaScript gespeichert und im Header (<script type="text/javascript" src="/js/externallink.js"></script>) aufgerufen werden.

window.onload = function() {
if (!document.getElementsByTagName) return false;
var links = document.getElementsByTagName("a");
for (var i=0; i<links.length; i++) {
if (links[i].getAttribute("rel") == "external") {
links[i].onclick = function() {
return !window.open(this.href);
}
}
}
}

Ein Link sieht dann im HTML-Code wie folgt aus:

<a href="http://www.buntgrau.de" rel="external" title="Target ohne _blank">buntgrau</a>


Diese Seite wurde 182 mal seit dem 22.01.2009 gelesen.