dedlfix: Conditional Comments

Beitrag lesen

echo $begrüßung;

Naja, was aber ist rein logisch if(a){}else{} anderes als if(a){}if(!a){}?

Nicht-IEs ignorieren dieses ganze Konstrukt. Sie werten den If-Teil nicht aus und dementsprechend wäre ein Else-Teil nicht wirklich logisch, denn dessen Inhalt sehen sie immer und führen ihn aus, egal ob der If-Zweig zutrifft oder nicht. Beachte dazu auch die Art, wie die HTML-Kommentare geschachtelt werden.

Man kann das so lesen (fiktiver Code):

<!--[if IE]> ... <![endif]--> Versteckte Nachricht: Bist du ein IE? Bitte ... ausführen!
<![else]> ... <![endelse]> Versteckte Nachricht: Ansonsten bitte ... ausführen!
Dumm nur, dass die anderen die versteckte Nachricht gar nicht hören. Und da ist es unlogisch, sich an sie zu wenden. Stattdessen sagt man einmal dem IE, dass er etwas trotz des Kommentars berücksichtigen soll und beim anderen Mal, dass es es trotz Sichtbarkeit nicht tun soll.

Praktisch gesehen ist es im Prinzip Haarspalterei, denn aus der Sicht eines IE ergäbe ein Else einen Sinn und aus Sicht eines Nicht-IE existiert das alles nicht, weil es nur Kommentare sind (außer dem Inhalt des "Else").

echo "$verabschiedung $name";