Freitag, 11. Januar 2008

Für die Webdesigner unter euch

Folgende Situation, im Markup befindet sich folgender Code:

<!--Kommentar<!--Kommentar-->-->

Firefox & Co. zeigen nichts an, der Internet Explorer dagegen ein -->. Und ich neige dazu, letzterem Recht zu geben: Qua Definition hat Information zwischen Kommentaren keine weitere Bedeutung, d.h. Markup wird nicht interpretiert. Das bedeutet doch aber auch, dass der zweite Kommentaranfang ignoriert werden muss. Und dass das erste --> das Ende des Kommentars darstellt, das zweite also ganz normaler Text ist und dementsprechend dargestellt wird.

Wo liegt mein Denkfehler? Kann doch nicht sein, dass ausgerechnet der Internet Explorer sich als einziger Browser standardkonform verhält.

8 Kommentare

  1. baex

    Tut er, jawoll. Da haben alle anderen aber keinen nicht-standardkonformen Bug, sondern einfach einen Denkfehler.

  2. awokenMIND

    Das musste ich gerade vor ein paar Tagen bei Arbeiten an meinem WP-Template bemerken. Leider muss ich Dir und dem MSIE Recht geben: ein Kommentar in einem Kommentar darf beim Parsen nicht als solcher interpretiert werden, zumindest nach Aussage des W3C. Andere Sprachen verhalten sich meist entsprechend so, wie Firefox&Co es parsen und irgendwie ist das semantisch auch viel richtiger. In puncto Standard hat der IE in diesem Fall aber leider Recht…

  3. Florian

    jep, da hat der ie recht. genauso wird es auch in anderen programmiersprachen gehandhabt.

    in java (und auch php) würde das genauso geparst, also nicht compiliert werden:
    /* comment 1 /* comment 2 */ */

  4. burn

    also safari zeigt mir auch ein –> an.
    textmate zeigt es mir genauso an.

    also ist der ie wohl nicht der einzige ders richtig macht.

  5. senf

    Apropos Webdesign. Möchtest du dein Theme zum Download bereitstellen? Ich bin von der Einfachheit und den Farben begeistert.
    Gruß! ;)

  6. Wikwok

    Diese “Problematik” ist mir auch schon ein paar mal unter gekommen. Der IE hat in diesem Fall aber tatsächlich mal recht. Aus meiner Sicht ist es logisch das ein Angefangener Kommentar natürlich mit dem ersten Vorkommen des Closings auch wieder beendet wird.

    Ich meine wenn wir das mal auf andere Tags ausweiten sollte es doch genauso funktionieren.

    *strong*Ich bin Fett*/strong* Und ich nicht*/strong*

    Müsste doch im Prinzip das selbe bedeuten?

  7. mente

    Es ist so:
    (Tag 1)BLUBBER (Tag 2)BRABBEL(/Tag2)(/Tag1)

    Da Tag 2 komplett, also mit dem Schließen-Tag im Tag 1 liegt, müsste es komplett mit Tag 1 behandelt werden, also komplett auskommentiert. Hier hat der IE den Fehler.

Kommentar schreiben

SEOs brauchen es erst gar nicht probieren, Kommentare mit dem Zweck der kommerziellen Eigenwerbung (Links zu Shops, Firmen, o.ä.) sowie sinnloser Schrott werden ebenfalls als Spam markiert. Wenn ihr etwas völlig anderes beisteuern wollt, dann bitte über den normalen Kontakt.