Linkziel in XHTML definieren
Lars Kleinschmidt
- html
0 xNeTworKx0 CarstenP0 Kai Lahmann0 Stefan Muenz
Wie kann man in XHTML das Linkziel definieren. Ich meine das, was in HTML "target" ist. Dieses ist ja in XHTML nicht mehr zulässig.
Danke schon mal im vorraus.
Hallo,
Wie kann man in XHTML das Linkziel definieren. Ich meine das, was in HTML "target" ist. Dieses ist ja in XHTML nicht mehr zulässig.
Das ist auch schon in HTML 4.01 strict nicht mehr zulässig, weil man könnte ja theoretisch target="blabla" hinschreiben, und es wäre ja nicht mehr "strict". dH du kannst eigentlich gar nichts dagegen machen und musst es weglassen, was ich so weis (Zumindest mache ich es immer so, da es ausserdem eh besser ist, daß User selbst entscheiden, ob sie es in einem neuen Fenster öfnen wollen, oder nicht)
Hallo erstmal,
target ist in XHTML genauso zulässig wie in HTML.
Soll heißen: in (X)HTML Transitional darfst Du es benutzen,
in (X)HTML Strict nicht...
Viele Grüße
Carsten
hi
Wie kann man in XHTML das Linkziel definieren. Ich meine das, was in HTML "target" ist. Dieses ist ja in XHTML nicht mehr zulässig.
gar nicht. Zumindest nicht in XHTML 1.0 Strict, XHTML 1.1 oder XHTML Basic 1.0. Das hängt damit zusammen, dass HTML eben in diesen Versionen keinerlei Layout-Funktionalität mehr hat. Beim XHTML Basic kommt noch hinzu, dass das primär auf Geräte ausgerichtet ist, wo eh jedes Fenster fullscreen ist (PDAs..)
Grüße aus Bleckede
Kai
Hallo Lars,
Wie kann man in XHTML das Linkziel definieren. Ich meine das, was in HTML "target" ist. Dieses ist ja in XHTML nicht mehr zulässig.
Auf den Unterschied zwischen strict und transitional haben ja die anderen schon hingewiesen. Meine persoenliche Meinung dazu: wer strict so strict macht, braucht sich nicht zu wundern, wenn transitional nicht totzukriegen ist. Aber nun ja.
Als Loesung, wie man neue Fenster in Verbindung mit strict oeffnen kann, bleibt demnach nur JavaScript und window.open(). Sicher werden unsere Strict-Juenger auch dagegen wettern. Das Dumme ist nur - es ist ganz offiziell und nicht vom W3C verpoent, so zu arbeiten ;-)
viele Gruesse
Stefan Muenz
Hallo Stefan,
Auf den Unterschied zwischen strict und transitional haben ja die anderen schon hingewiesen. Meine persoenliche Meinung dazu: wer strict so strict macht, braucht sich nicht zu wundern, wenn transitional nicht totzukriegen ist. Aber nun ja.
wir hatten diese Diskussion in der jüngeren Vergangenheit bereits
einmal, ich möchte da jetzt auch nicht alle genannten Argumente
wiederholen, deshalb der Verweis auf </archiv/2002/4/9889/>
In diesem Zusammenhang möchte ich Dich auch hier nochmal auf einen
Fehler in SELFHTML aufmerksam machen, da steht:
"Anstelle von target="_blank" können Sie auch target="Halligalli"
oder sonst irgendeinen Unsinn notieren. Wenn es kein Fenster mit
diesem Namen gibt, öffnen die Web-Browser das Verweisziel in
einem neuen Browser-Fenster."
(http://de.selfhtml.org/html/verweise/definieren.htm#zielfenster)
Diese Aussage ist insofern Unfug, da der Browser dann jeden weiteren
Link mit diesem Linkziel target="Halligalli" ebenfalls in genau dem
Fenster öffnen wird, welches als erstes geöffnet wurde. Bei der Ver-
wendung von target="_blank" entsteht jedesmal ein neues Fenster,
welches auch fokusiert wird. Bei target="Halligalli" bekommt man
überhaupt nicht mit, dass die Seite in einem Hintergrundfenster ge-
öffnet wurde und ausserdem ist es höchst ärgerlich, wenn ich auf
einen Link klicke und der mir ungefragt und weitesgehend unbemerkt
den Inhalt eines anderen offenen Browserfensters überschreibt.
Letztendlich gibt es genau vier sinnvolle Werte für die Verwendung
im target-Attribut, alle anderen sollten nur und ausschließlich bei
Framesets zum Einsatz kommen.
_parent
_blank
_self
_top
Die erste Variante braucht man nur, wenn man mit Frames arbeitet,
zu _blank noch später einige Worte, _self und _top sind ebenfalls
nur dann notwendig, wenn Frames zum Einsatz kommen. Über den Sinn
von Frames wurde ja auch schon hier trefflich gestritten und ich
denke, die überwiegend vertretene Meinung ist contra Frames.
_blank ist ebenfalls umstritten, siehe auch der oben von mir gen.
Thread, da es einfach nicht sinnvoll ist, dem Besucher diese Ent-
scheidung abzunehmen, in quasi zu bevormunden. Zum Glück bieten
moderne Browser wie Opera, Mozilla oder Netscape die Möglichkeit,
dieser Bevormundung durch den Seitenersteller zu entgehen. Beim
MSIE ist mir so etwas nicht bekannt, ausser man zieht den Link mit
der Maus in die Adresszeile, was vermutlich eher unter die Rubrik
"Bug" fallen dürfte ;-)
Jedenfalls zeigt sich hier, dass _blank keineswegs so *zwingend*
notwendig ist und man gut und gerne auch Internetseiten ohne jegl.
Verwendung des target-Attributes bauen kann. Aus genau diesem Grund
gibt es bei Strict kein target. Wer also meint, Frames verwenden
oder seine Besucher bevormunden zu müssen, der muß auch damit
leben, dass ihm die Strict-Variante verwehrt bleibt. Genauso wie
all die Leute, das font-Element, Iframes oder andere schlimme
Sachen nutzen wollen ;-)
Als Loesung, wie man neue Fenster in Verbindung mit strict oeffnen kann, bleibt demnach nur JavaScript und window.open(). Sicher werden unsere Strict-Juenger auch dagegen wettern. Das Dumme ist nur - es ist ganz offiziell und nicht vom W3C verpoent, so zu arbeiten ;-)
mal abgesehen von dem ironischen Unterton weißt Du sicher selbst
auch, dass es genauso "W3C-konform" und "Strict-konform" wäre,
eine Seite mit Unmengen von verschachtelten Tabellen zu "layouten".
Ich weiß, dass Du auch bei diesem Punkt eine andere Meinung als z.
Bsp. ich vertrittst, nichtsdestotrotz ist ein Workaround mittels
JavaScript allenfalls eine Spielerei, praxisrelevant ist sowas
nicht. Die Usability mit Füssen treten, nur um endlich auch mal
eine Strict-Seite erstellen zu können? ;-)
Viele Grüße,
Stefan, der schon froh wäre, wenn wenigstens alle Seiten, wo als
DOCTYPE Transitional drinsteht, diesen auch einhalten würden:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.gmx.net%2F
Moin moin!
"Anstelle von target="_blank" können Sie auch target="Halligalli"
oder sonst irgendeinen Unsinn notieren. Wenn es kein Fenster mit
diesem Namen gibt, öffnen die Web-Browser das Verweisziel in
einem neuen Browser-Fenster."
(http://de.selfhtml.org/html/verweise/definieren.htm#zielfenster)
Diese Aussage ist insofern Unfug, da der Browser dann jeden weiteren
Link mit diesem Linkziel target="Halligalli" ebenfalls in genau dem
Fenster öffnen wird, welches als erstes geöffnet wurde.
Ich sehe da keinen Widerspruch zu obigem, ich sehe also auch nicht, wo obiges Unfug sein soll. Ich will aber nicht bestreiten, dass man noch einen warnenden Satz hinzufuegen koennte, der klarstellt, dass das geoeffnete Fenster dann eben diesen Namen traegt und demnach weitere Links mit diesem Target dort geoeffnet werden.
_blank ist ebenfalls umstritten, siehe auch der oben von mir gen.
Thread, da es einfach nicht sinnvoll ist, dem Besucher diese Ent-
scheidung abzunehmen, in quasi zu bevormunden.
Na sagen wir mal, in den meisten Faellen.
Jedenfalls zeigt sich hier, dass _blank keineswegs so *zwingend*
notwendig ist und man gut und gerne auch Internetseiten ohne jegl.
Verwendung des target-Attributes bauen kann. Aus genau diesem Grund
gibt es bei Strict kein target.
Ich denke eher, der Grund ist einfach, dass es eben ein Presentational issue ist, welches mit der Struktur eines Textes nichts zu tun hat, und ausserdem in vielen Umgebungen ueberhaupt nicht umgesetzt werden kann.
So long
--
Falscher oder fehlender Kaffee. Benutzer angehalten.
Hallo Calo,
Ich sehe da keinen Widerspruch zu obigem, ich sehe also auch nicht, wo obiges Unfug sein soll. Ich will aber nicht bestreiten, dass man noch einen warnenden Satz hinzufuegen koennte, der klarstellt, dass das geoeffnete Fenster dann eben diesen Namen traegt und demnach weitere Links mit diesem Target dort geoeffnet werden.
diese Reaktion hatte ich schon erwartet, ich beziehe mich speziell
auf:
"Anstelle von target="_blank" können Sie auch target="Halligalli"
oder sonst irgendeinen Unsinn notieren."
Natürlich kann man anstelle von target="_blank" auch etwas anderes
hinschreiben, man kann es auch komplett weglassen oder wetter="gut"
hinschreiben. Nur impliziert die Formulierung an dieser Stelle für
mein Erachten unmittelbar, dass diese beiden Wertangaben auf das
gleiche Resultat herauslaufen und genau DAS ist nicht der Fall.
target="_blank" kann sinnvoll sein, auch wenn ich mich persönlich
damit schwer tue, target="Halligalli" hingegen ist, sofern es nicht
einen Frame mit diesem Namen gibt, grober Unfug.
Ich denke, es wäre sehr viel sinnvoller, nur die vier definierten
Werte zu nennen, natürlich auch auf die Verwendung in Zusammenhang
mit Framenamen hinzuweisen und den Satz mit target="Halligalli"
einfach komplett wegzulassen.
Viele Grüße,
Stefan
Re there!
Natürlich kann man anstelle von target="_blank" auch etwas anderes
hinschreiben, man kann es auch komplett weglassen oder wetter="gut"
hinschreiben. Nur impliziert die Formulierung an dieser Stelle für
mein Erachten unmittelbar, dass diese beiden Wertangaben auf das
gleiche Resultat herauslaufen und genau DAS ist nicht der Fall.
Ah, jetzt weiss ich, was Du meinst. Ja, die Formulierung ist zweideutig. Man kann sie so interpretieren wie Du oder einfach als "an die Stelle *im Quelltext*, wo '_blank' steht, kann man auch 'duennpfiff' schreiben, was dann folgendes bedeutet ...", wobei sich der Sinn erst mit dem nachfolgenden Satz zusammen ergibt. Naja, vielleicht waere es wirklich besser den Satz durch einen neutraleren Hinweis zu ersetzen, was passiert, wenn man einen Namen angibt, zu dem es noch kein Fenster gibt. Andererseits koennen wir auch noch 10 Postings lang ueber eine korrektere Formulierung diskutieren, gerne auch mit Nebensatzschachtelung bis in die vierte Ebene, mehrfach rueckbezuegliche Relativpronomen und viel Infinitiv mit zu, die dann keine Missverstaendnisse mehr zulaesst. Da hol ich mir aber vorher ein Bier. *g*
So long
--
Discovering the usefulness of the "command.com" shell on Windows 9x is left as an exercise to the reader :)
-- from Perl's README.win32 file