Neues Fenster in XHTML 1.1
Die Lösung ist zwar nicht neu, aber ich hab sie gerade erst für mich entdeckt. ;) Kevin Yank beschreibt auf Sitepoint.com wie man mit JavaScript einen Link in einem neuen Fenster öffnet und zwar standardkonform in XHTML 1.1 (bzw. XHTML 1.0 Strict). Da das Attribut target in diesen Spezifikationen des W3C nicht mehr erlaubt ist, verwendet Yank das Attribut rel, das die Beziehung zwischen dem Dokument welches den Link enthält und dem Ziel des Links bestimmen soll. Im Link selbst wird also folgendes definiert:
<a href="abc.html" rel="external">Link</a>
Das folgende Script wird nun im HEAD–Bereich des Dokuments eingebunden oder in eine externe JavaScript-Datei ausgelagert:
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i < anchors .length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
In XHTML 1.1 gibt es auch eine Variante die völlig ohne JavaScript auszukommt, nämlich unter Nutzung der Möglichkeit selbst definierte Module einzubinden. Das ist aber schon wieder ein weites Feld und ich schreibe vielleicht noch was dazu, wenn ich es erfolgreich getestet habe.
nobody
28.10.2005
19:48 CET
Das ist doch Bloedsinn .. ich meine da ist doch irgendwo ein verdammter Sinn dabei, wenn @ xhtml strict das attrubut target nicht erlaubt oder? der user soll entscheiden, ob ein neues fenster geoeffnet werden soll oder eben nicht. Da hau ich mir doch deswegen nicht so einen JS-Fuck in den header.. wer unbedingt target=”_blank” braucht soll halt kein strict nehmen, fertig. aber das hier ist laecherlich.
erik
10.08.2006
15:58 CET
@nobody: seh ich anders, denn internet-explorer benuter wissen nicht mal was tabs sind (wissen die was fenster sind?), warum also nicht bei links explizit anbieten ob im neuen fenster oder tab zu öffnen? ist imho ein usability-gewinn. roger johannson hatte inzwischen eine ähnliche javascript-sache veröffentlicht, die ein öffnen im neuen tab ermöglicht.
mfg