neontrauma.de » JavaScript, XHTML & CSS » XHTML 1.1 und das target-Attribut

Von HTML und XHTML 1.0 Transitional her ist man es gewohnt, bei Hyperlinks das Linkziel anzugeben: soll sich der Link in einem neuen Fenster öffnen oder im gleichen?

Dies realisierte man über das target-Attribut (in diesem Beispiel öffnet sich der Link in einem neuen Browserfenster):
<a href="link.html" target="_blank">Link</a>

Wer sich aber nun zum Ziel gesetzt hat, valides XHTML 1.0 Strict oder XHTML 1.1 zu coden, dem meldet der Validator einen Fehler, wenn man mit target arbeitet: in diesen beiden Versionen wurde dieses Attribut bereits abgeschafft.

der Grund

…hierfür ist folgender:
Ursprünglich stammt die Angabe des targets aus den Zeiten der Framesets (wir erinnern uns, gaaanz schlechtes Coding von Anno Pief ;-) ). Da machte es Sinn, Links zum Beispiel auch in übergeordneten Frames öffnen zu lassen. Im Zeitalter der Divs ist dies überflüssig geworden.

Zudem geht man dazu über, dem User die größtmögliche Usability anzubieten – dazu gehört auch, dass er selber entscheiden kann, wie sich ein Link öffnen soll, ob im selben Fenster oder in einem neuen Fenster/Tab.

trotzdem in neuem Fenster?

Mit etwas JavaScript lässt es sich realisieren, dass sich Links in einem neuen Fenster öffnen und das Coding trotzdem valides XHTML 1.1 ist. Voraussetzung dafür, dass dies funktioniert, ist natürlich, dass der User in seinem Browser JavaScript aktiviert hat. Hat er dies nicht, öffnet sich der Link einfach im gleichen Fenster.

Dem Link fügt man das onclick-Attribut hinzu:

onclick="window.open('http://linkziel.de'); return false"

Damit das Coding valide bleibt, muss beim Verwenden von JavaScript die Scriptsprache im Header definiert werden:
<meta http-equiv="Content-Script-Type" content="text/javascript" />

verwandte Beiträge

5 Kommentare

  1. fabian meinte dazu am 25. April 2008 um 10:53 pm: antworten
    #1

    hej. also das find ich ja mal doof^^
    wenn der user soviel usability haben soll, dann brauch ich die seite auch gar nicht mehr zu coden;)
    nee, ich will wenigstens das entscheiden können, z.b. möchte ich doch externe links in nem neuen fenster/tab öffnen?! und das mit java stört mich da^^

  2. neontrauma meinte dazu am 25. April 2008 um 11:09 pm: antworten
    #2

    Naja, das ist halt einer von mehreren Denkansätzen… es gibt ja weiterhin die Transitional-Variante, in der das Angeben eines Linkziels erlaubt ist. Ich fand das auch ziemlich unpraktisch, als ich zum ersten Mal davon gehört habe, aber den Gedanken dahinter kann ich doch irgendwie nachvollziehen.

    Btw, ist JavaScript und nicht Java, das ist eine andere Sprache. ;-)

  3. Andi meinte dazu am 2. September 2008 um 9:44 pm: antworten
    #3

    Hi Anne, bevor ich zu meiner Frage komme: Geile Sache, dass ich mal n Mädel finde, welches so fitt ist wie Du – Bravo! Hast Du deine ganze Page komplett selber gemacht? Okay, nun zu meiner Frage: Da ich, wie es mittlerweile aussieht ziemlich viele Projekte in nächster Zeit realisieren werde, habe ich es mir zum Ziel gesetzt, XHTML 1.1 valide und professionell zu programmieren – Bin auch dabei das Layout meiner Page (HTML 4.01 Transitional) umzustellen, wobei ich feststellen muss, dass das scheiß viel arbeit ist – Aber lange Rede, kurzer Sinn: Wie kann ich denn nun outgesourcte html-files in bestimmte DIV-Container laden?

    Vielleicht kannst Du mir die Antwort an meine Email schicken? Wäre toll, wenn wir uns in Zukunft evtl. etwas ergänzen könnten – Vielleicht kann ich Dir ja mal bei der einen oder anderen Sache helfen (auch, wenn DU bestimmt fitter bist als ich ;-)

    Nice GreetZ

  4. neontrauma meinte dazu am 4. September 2008 um 11:51 am: antworten
    #4

    Hej,

    danke! :o)

    Als Grundgerüst dient der Seite hier WordPress, das meiste ist allerdings von Hand modifiziert und teilweise umgeschrieben. :) Das Layout stammt komplett von mir.

    Was deine Frage bezüglich der einzubindenen Dateien angeht, beantworte ich das hier auch einmal öffentlich, da andere Leser bestimmt auch einmal über diese Fragestellung stolpern und hier dann auch gleich eine Lösung finden.
    Also:
    über reines HTML kannst du andere Dateien nicht einfach in einen Div laden – so wie man das von Iframes her kennt. Mit ein bisschen PHP (drei Zeilen ;-) ) ist das aber kein Problem.
    In den Div-Container hinein wird das HTML-Dokument includet – ein Tutorial dazu gibt’s hier.

    Liebe Grüße
    neontrauma

  5. Klaus meinte dazu am 23. Oktober 2009 um 9:00 am: antworten
    #5

    Hi,

    XHTML 1.1 hört sich zwar modern an, ist aber zum Websitebau denkbar ungeeignet, da dort ein content-type vorgeschrieben ist, mit dem IE6 und IE7 nix anfangen können.
    Erhellendes hierzu findest du in diesem Artikel:
    http://schneegans.de/web/xhtml/

    Einfach etwas weiter runter scrollen.

    Mittlerweile wurden die Arbeiten des W3C an XHTML 2.0 eingestellt, HTML 5 ist wohl der Doctype der Zukunft.

    Gruß
    Klaus

Und deine Meinung?

HTML erlaubt

Abonnieren, ohne einen Kommentar zu hinterlassen

die Autorin
neontrauma neontrauma, 23 Jahre alt, Studentin und freiberufliche Webdesignerin, liebt Coding & Fotografie und wohnt in Leverkusen. mehr?
neontrauma im www
flickr fotocommunity deviantART twitter facebook StudiVZ lifestream.fm last.fm