David Aurelio: IE: auf abbr-Elemente zugreifen.

Hallo Forum, (btw., wollt ihr hier das nicht mal auf ein _vernünftiges_ board umstellen? Kleiner Scherz am Rande, scnr)

Ist es in irgendeiner Form möglich im Internet Explorer per Javascript auf abbr-Elemente zuzugreifen? Meine diesbezüglichen Versuche sind leider gescheitert:

abbrs = document.all.tags('abbr'); // abbrs.length = 0  
abbrs = document.getElementsByTagName('abbr'); // abbrs.length = 0  

Leider scheint ja auch der IE7 das abbr-Element nicht zu unterstützen.

schönen Gruß, David.

  1. Hallo David.

    Ist es in irgendeiner Form möglich im Internet Explorer per Javascript auf abbr-Elemente zuzugreifen? Meine diesbezüglichen Versuche sind leider gescheitert:

    Bist du sicher? Der IE gibt mir hier wie erwartet 1 aus:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">  
      <head>  
        <title>&lt;abbr/&gt; und IE</title>  
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />  
        <script type="text/javascript">  
          [code lang=javascript]window.onload = function() {  
            alert(document.getElementsByTagName("abbr").length);  
          }
    

    </script>
      </head>
      <body>
        <p>Dies ist eine <abbr title="Abkürzung">Abk.</abbr></p>
      </body>
    </html>[/code]

    Einen schönen Samstag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
    1. Bist du sicher? Der IE gibt mir hier wie erwartet 1 aus:

      Nein, ich hatte nur einen online-IE7-Screenschießer bemüht, bei dem das Element nicht, wie im CSS angegeben, unterstrichen war.
      Ich entwickle unter Linux, als Zweitsystem habe ich noch Windows 2000, daher gibt es (zumindest zur Zeit) keinen IE7 für mich. Schön, dass das Element unterstützt wird.

      Trotzdem: ich möchte im Internet Explorer < 7 per Javascript/DOM auf abbr-Elemente zugreifen.
      Hintergrund: Ich entwickle gerade ein Framework, für das auch schon umfangreiche Inhalte eingegeben werden, die wahrscheinlich nicht so bald veralten.
      Diese Inhalte werden in einer Datenbank abgelegt. Damit die "zukunftssicher" sind, möchte ich im Hinblick auf XHTML 2.0 (auch, wenn das noch ewig dauert, btw: wie lang eigentlich?) auf das abbr-Element für Abkürzungen setzen, diese aber für IE-User per Javascript durch acronym-Elemente ersetzen.

      Habe per Google einen Ansatz gefunden, den werde ich später mal testen, jetzt erst mal ins Kino ;)

      Danke erstmal,
      David

      1. Hallo David.

        Nein, ich hatte nur einen online-IE7-Screenschießer bemüht, bei dem das Element nicht, wie im CSS angegeben, unterstrichen war.

        Der IE kennt das abbr-Element ja auch nicht, wie du bereits richtig erkannt hast. Du könntest auch ein <husseldiguggeldu>Test</husseldiguggeldu> in dein Dokument einfügen. Auch hier würde dir document.getElementsByTagName("husseldiguggeldu").length „1“ ausgeben. Die DOM-Methoden sind nicht an HTML gebunden und daher gut geeignet für andere Dialekte sowie XML und seine Derivate.

        Ich entwickle unter Linux, als Zweitsystem habe ich noch Windows 2000, daher gibt es (zumindest zur Zeit) keinen IE7 für mich.

        Du kennst QEMU?

        Schön, dass das Element unterstützt wird.

        Wie man’s nimmt …

        XHTML 2.0 (auch, wenn das noch ewig dauert, btw: wie lang eigentlich?)

        Rechne bis zur Alltagstauglichkeit am Besten mit 5 bis 10 Jahren.

        auf das abbr-Element für Abkürzungen setzen, diese aber für IE-User per Javascript durch acronym-Elemente ersetzen.

        Und dies nur, um die Abkürzungen formatierbar und für die Anzeige des title-Attributes empfänglich zu machen?
        Warum schreibst du Abkürzungen nicht aus und erklärst sie je nach Erfordernis beim erstmaligen Auftreten im Dokument?

        Habe per Google einen Ansatz gefunden, den werde ich später mal testen,

        Ja, replaceChild sollte dir hier gute Dienste leisten können.

        jetzt erst mal ins Kino ;)

        Was gab es denn zu sehen?

        Einen schönen Sonntag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Hallo,

          Ja, replaceChild sollte dir hier gute Dienste leisten können.

          Ich frage mich grad ob ein regex auf innerhtml von body nicht wesentlich schneller sein könnte. Hab aber keine Erfahrungen damit: http://www.sovavsiti.cz/css/abbr.html

          Grüße
          Jeena Paradies

          1. Hallo Jeena.

            Ja, replaceChild sollte dir hier gute Dienste leisten können.

            Ich frage mich grad ob ein regex auf innerhtml von body nicht wesentlich schneller sein könnte.

            Ohne es getestet zu haben, würde ich sagen, dass dem nicht so ist. Ein schneller Austausch eines Knotens sollte eigentlich schneller sein, als den Inhalt des gesamten body-Elementes einzulesen und per regulärem Ausdruck zu bearbeiten.

            Hab aber keine Erfahrungen damit: http://www.sovavsiti.cz/css/abbr.html

            Das dort beschriebene Vorgehen stützt sich auf eine Aussage, die hier widerlegt wurde:

            Notice, that we have to use regular expressions and the proprietary innerHTML instead of standard DOM methods, because IE can't access the <abbr> element via DOM.

            Somit ist dieses Script unnötig. (Selbst im IE 5.0 werden alle abbr-Elemente erkannt.)

            Einen schönen Sonntag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
            [HTML Design Constraints: Logical Markup]
          2. Hallo Jeena,

            Ich frage mich grad ob ein regex auf innerhtml von body nicht wesentlich schneller sein könnte.

            Ich hatte es mit der replace-Methode versucht, was auch wunderbar funktioniert.
            Ich hatte einfach den inneren Drang, eine DOM-basierte Lösung zu finden, nur so für mich ;-)

            schönen Gruß,
            David

        2. Hallo Ashura,

          Du kennst QEMU?

          Jetzt schon. Danke für den Link. Ich hatte es vor geraumer Zeit schon einmal ausprobiert, allerdings ohne kqemu; damit war es faktisch unbenutzbar.
          Habe es jetzt mal mit kqemu kompiliert, das scheint besser zu laufen.

          [...]
          Und dies nur, um die Abkürzungen formatierbar und für die Anzeige des title-Attributes empfänglich zu machen?
          Warum schreibst du Abkürzungen nicht aus und erklärst sie je nach Erfordernis beim erstmaligen Auftreten im Dokument?

          Ja, das steht auch als Alternative auf einfach-fuer-alle.de. Ich bin nicht ganz sicher, was die beste Lösung ist. Im Endeffekt kann ich auch nur "Content Quality Guidelines" aufstellen, da der Content von einer Gruppe von Leuten eingepflegt wird. Der Dump ist mittlerweile 10Mb groß, daher wäre es auch aufwendig, alle acronym-Elemente zu tilgen/ersetzen, falls der Output irgendwann mal XHTML 2 sein soll.
          Ich will die Inhalte auh direkt (X)HTNL-formatiert in der DB ablegen, um nicht zur Ausgabe noch bb-Code oder irgendwas parsen muss.

          Was gab es denn zu sehen?

          Ice Age 2. Ein bisschen wenig Story, ein kitschiges Ende, aber gute Slapstick-Qualität.

          Einen schönen Sonntag noch.

          Danke, den wünsche ich Dir auch,
          Gruß, David.

  2. Hallo,

    kann ich nicht bestätigen. Funktioniert wie es soll.

    gruss

    --
    Swiss Army Chainsaw
    Terrorific!
    Given a cow full of milk, should the milk un-cow itself, or should the cow milk itself?
  3. Ein schön einfacher Ansatz ist übrigens dieser hier:
    http://www.jasonkarldavis.com/scripts/abbrhack/
    Die Seite lässt sich mit dem IE übrigens nicht öffnen (Content-Type: text/xml+xhtml)