xhtml - Ersatz für target [Gelöst]

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2008, 19:52

    xhtml und target="_blank" vertragen sich nicht. Das ist ja nun hinlänglich bekannt.
    Das target-Attribut raus, weg zu bekommen, das das krieg ich mit TS ganz gut hin

    [i][b]und hier wirds interessant:[/b][/i]
    Ich möcht an Stelle des target-Attributs mit ein bisserl schwindeln dafür sorgen,
    [b]dass sich externe Links xhtml-valide doch in neuen Seiten öffnen[/b]!
    Also füge ma dem Link ein bisserl Javascript hinzu:
    onclick="window.open(this.href,'_blank'); return false;"
    [HTML]//
    <!--
    also aus: -->
    <a href="http://linkziel.tld" target="_blank">Linktext</a>
    <!--
    wird: -->
    <a href="http://linkziel.tld" onclick="window.open(this.href,'_blank'); return false;">Linktext</a>[/HTML]

    Welche Möglichkeit seht ihr, dieses onclick jedem [b][i]externen[/i][/b] Link per Typoscript hinzufügen zu lassen?
    interne Links bleiben natürlich auf der Seite, externe Links möcht ich in ein neues Fenster schicken, das eigene Fenster dabei geöffnet halten, und trotzdem xhtml valide sein.
    Funktioniert zwar nur bei aktiviertem Javascript, is aber besser als nix...
    ... bloß wie bring ich TYPO3 dazu?


  • Norman2k Norman2k
    Jedi-General
    0 x
    1657 Beiträge
    80 Hilfreiche Beiträge
    12. 11. 2008, 22:01

    [quote="karinchristina"]
    xhtml und target="_blank" vertragen sich nicht. Das ist ja nun hinlänglich bekannt.
    [/quote]
    Wirklich? Wenn du XHTML 1.1 Oder XHTML 1.0 strict meinst würde ich dir Recht geben, so aber nicht.
    Wieso verwendest du einen Doctype, wo gewünschte Funktionen nicht valide sind? Entweder lebe damit, dass du keine valide Seite hast oder verwende einen anderen (passenden) Doctype. Aber dann mit JS zu "tricksen" kann ich irgendwie nicht nachvollziehen.

    #paralyzed# (Meine Meinung)

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    12. 11. 2008, 23:14

    Ja, ich meine xhtml1.1, und das ist die aktuelle Version.
    xhtml2 kommt bald, wird aktuell vom w3c entwickelt, und target wird aller Voraussicht wieder valide sein (warum wohl?)

    Warum ich xhtml einsetze?
    Einerseits weil es der aktuelle Standard ist.
    Andererseits weil ich mir die Nutzung der daraus resultierenden Vorteile offen halten möchte.

    Das "target" in der aktuellen xhtml-Version nicht valide ist und in der kommenden aber doch wieder valide hat seinen Grund.
    Die ehemalige Argumentation des w3c warum target nicht valide ist: "... dem User alle Freiheit, wir zwingen dem User kein neues Fenster auf..." wird vom w3c fallengelassen, in der nächsten xhtml-Version, der 2er wird "target" wieder valide sein. Mit dazu beigetragen hat sicher auch die Entwicklung von Browsern, die tabbed browsing ermöglichen!

    [b]Nun however, ich wollte nicht diskutieren warum, ich wollte diskutieren wie.[/b]

    Wieso verwendest du einen Doctype, wo gewünschte Funktionen nicht valide sind?
    • Ich schreibe prinzipiell in aktuellem Code.
    • Kunde wünscht externe Links in neuem Fenster.
    • Ich suche nach einer Lösung die beides valide ermöglicht.

  • just2b just2b
    TYPO3-Yoda
    0 x
    18741 Beiträge
    2 Hilfreiche Beiträge
    13. 11. 2008, 08:07

    xhtml-trans ist aktueller code, ist valide und dein target ist erlaubt. doch alles wunderbar

    warum muss es strict sein?

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2008, 10:24

    Na gut, dann steig ma halt in diese Diskussion weiter ein...

    xhtml-trans ist aktueller code
    [b]Korrektur[/b]: xhtml 1.0 transitional ist eben [i]kein[/i] aktueller Code!

    [b]xhtml1.1 ist die vom w3c aktuell empfohlene Variante die prinzipiell für [i]neue[/i] Webseiten einzusetzen ist.[/b]Punkt ... und ja, auch ich hab noch alte Seiten am Laufen, sogar noch solche mit phpCMS, die ich von html mit transitional zu xhtml gemacht hab, weil die Kunde für mehr Aufwand nicht mehr bezahlen will.

    Und "transitional" ist, wie der Name in der wörtlichen Übersetzung schon sagt eine [i]Übergangs[/i]-Lösung welche auf bestehenden Webseiten definiert werden kann, falls der Aufwand für das komplette Umschreiben zu groß wäre.
    Umschreiben? Das Umschreiben von der SGML-Sprache html in die XML-Sprache xhtml war da gemeint.
    "transitional" ist in xhtml1.1 gar nicht mehr definiert, das gabs nur xhtml1.0!

    Wenn eine Seite [i]wirklich[/i] accessibel sein soll, dann führt an xhtml1.1 eigentlich kein Weg vorbei.

    Und nach den WCAG ist der Einsatz von zB Javascript durchaus gestattet. So sende ich zB manche Formulare mit einem Maus- oder Tastatur-Event ab (Javascript) und zeige den Submit-Button nur, wenn Javascript deaktiviert ist. Duraus zulässig, entspricht voll den WCAG denn in manchen Fällen bringts ein Mehr an usability (und ist weit verbreitet).

    :'( Ich möcht ja bloss eine kitzekitzekleine Javascript-Anweisung bei allen externen Links über TS dazu schreiben lassen...

    [b]Und wen auch immer die Lösung interessiert, hier ist [i]eine[/i] mögliche:[/b]
    Ich hab mir nun ein Javascript geschrieben, welches jeden Link prüft, ob er zur baseURL führt, falls ja öffnet es im selben Fenster, falls nein öffnet es in einem neuen Fenster.
    Momentan ist im Script die baseURL noch hardgecodet, falls ich mal Zeit hab, schreib ich eine Extension die ich dann auch veröffentlich...

    Lieber wärs mir allerdings, wenn diese Aufgabe beim Generieren der Seite vom TS übernommen werden würde...

    Liebe Grüße aus Wien
    [i]an Alle, die diese Diskussion (interessiert oder amüsiert?) mitverfolgen![/i]

    Karin 8-)

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2008, 10:37

    wird bei xhtml1.1 nicht rel statt target verwendet?

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    13. 11. 2008, 11:09

    Danke für den Hinweis!

    rel kann eingesetzt werden, um dem Browser mitzuteilen, wozu dieser Link in Beziehung (relation) steht.
    Von sich aus öffnet der Browser mit rel="external" aber noch nicht in einem neuen Fenster oder Tab.

    Ich kann derzeit über dieses Attribut dem User nur zeigen ob der Link auf eine externe Seite führt oder nicht. Es bleibt dem User dann überlassen, ob er auf diesen Link dann mit der linken oder der mittleren Maustaste klickt...
    ... und welchem "als normal anzusehenden User" ist der Klick-Unterschied zwischen linker und mittlerer Maustaste schon bekannt? (Geht das eigentlich nur im FF oder auch im IE?)

    Aktuell könnt ich wiederum nur mit einem Javascript rel abfragen und falls rel="extern" gesetzt ist, window.open(this.href); ausführen.

    Erst wenn wir css3 haben werden, können wir ohne Javascript und nur mit css angeben, ob der Link abhängig von der Angabe im rel-Attribut im selben Fenster/Tab oder in einem Neuen öffnen soll und können sogar steuern ob Fenster oder Tab.

  • suit suit
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    25. 11. 2008, 10:45

    vorweg: untenstehendes soll kein persönlicher angriff sein, nur eine richtigstellung potentiell gefährlicher falschaussagen

    [b]xhtml1.1 ist die vom w3c aktuell empfohlene Variante die prinzipiell für [i]neue[/i] Webseiten einzusetzen ist.[/b]Punkt ...

    xhtml 1.1 ist die modulbasierende variante von xhtml [url=http://www.w3.org/TR/xhtml11/] XHTML™ 1.1 - Module-based XHTML[/url] - sie wird vom w3c als working draft herrausgegeben

    und auch wenns eine empfehlung wäre: eine empfehlung heisst nicht, dass sie prinzipiell für neue webseiten einzusetzen ist (!) recommendation heisst im sinne des w3c dass die sache in 2 marktrelevanten browsern implementiert ist

    wer xhtml 1.1 zu verwenden gedenkt, sollte sich darüber im klaren sein, dass das dokument als application/xhtml+xml oder application/xml versandt wird - der xml-prolog soll vorhanden sein

    der internet explorer versteht beide mime-typen NICHT und wenn das dokument als text/html verschickt wird, verliert man den nutzen der xml-module (xhtml 1.1 wird ziemlich sinnlos) und der ie6 verschwindet getrost im quirksmode

    christoph schneegans hat hier einen netten artikel dazu geschrieben [url]http://schneegans.de/web/xhtml/[/url]

    [b]Wenn eine Seite [i]wirklich[/i] accessibel sein soll, dann führt an xhtml1.1 eigentlich kein Weg vorbei.[/b]

    zugänglichkeit hat nichts mit xhtml 1.1 zu tun, auch ein text-dokument kann zugänglich sein, oder eine html 3 seite - sie muss nur vernünftig ausgezeichnet werden

    mit vernünftigen xhtml 1.1 schließt du jedenfalls etwa 60% der benutzer vollständig von der benutzung aus - das ist NICHT zugänglich

    zudem fehlt in xhtml 1.1 bislang immer noch das lang-attribut

    Duraus zulässig, entspricht voll den WCAG denn in manchen Fällen bringts ein Mehr an usability

    wenn du etwas behauptest, zitiere auch die quellen
    [url=http://www.w3.org/TR/WAI-WEBCONTENT-TECHS/#tech-avoid-pop-ups]Techniques for Web Content Accessibility Guidelines 1.0[/url]
    "10.1 Until user agents allow users to turn off spawned windows, do not cause pop-ups or other windows to appear and do not change the current window without informing the user."

    zusammenfassend: für dich gibts 2 lösungen

    a) verzichte auf das target-attribut zugunsten der zugänglichkeit
    b) verwende eine DTD die deinen anforderungen entspricht

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    25. 11. 2008, 11:03

    @suit: Ich will keine Wörter wie "Bullshit" mehr lesen, danke!

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    25. 11. 2008, 12:59

    Letzter Beitrag wegen Ignoranz gelöscht

    PS: Beschwerden direkt an mich bitte!

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/