kick-image.at - Webdesig | CMS | Printdesign, c/o Reynhard Boegl, A - 4020 Linz, Herrenstrasse 7, Tel.: +43 (0)676 75 63 079, Web: www.kick-image.at

kick-image

High End Webdesign

Weitere empfohlene Beiträge zu Ihrer Suche

 

Conditional Comments für “Nicht- Internet Explorer” nutzen

“Conditional Comments” – was ist das?
“Conditional Comments” (CC) sind eine proprietäre HTML- Syntax, die nur der Microsoft Internet Explorer (IE) interpretiert, alle anderen Browser lesen diese als normalen HTML- Kommentar und reagieren nicht.
Eingesetzt wird diese um z.B. spezielle CSS- Dateien im Head oder Elemente im Body nur vom IE laden oder anzeigen zu lassen.
Artikel hierzu bei wikipedia: de.wikipedia.org/wiki/Conditional_Comments

Beispiel:
<!--[if IE]>Ich bin ein IE<![endif]-->


Dieser Text (”Ich bin ein IE”) wird nur vom IE angezeigt, für alle anderen Browser ist dies ein HTML- Kommentar und wird ignoriert.

In dieser Form läßt sich aber kein umgekehrter Fall ermöglichen, also eine Textzeile (oder CSS- Datei), welche alle Browser – außer IEs - anzeigen (diverse Browserweichen mal nicht angedacht).

Deshalb die Frage: wie kann man CC dazu nutzen, auch “Nicht- Internet Explorer” zu erkennen, obwohl diese die CC ignorieren?

Eine diesbezügliche Diskussion im selfhtml- Forum brachte eine ebenso geniale wie einfache (und auch valide) Lösung zu Tage:

<!--[if IE]>Ich bin ein IE<![endif]-->
<!--[if !IE]>-->Ich bin kein IE<!--<![endif]-->

Zur Erklärung:

  • die erste Zeile wird von allen Browsern außer dem IE ignoriert – ein klassisches CC also. Das “<!- -” öffnet und das “- ->” schließt üblicherweise ein HTML- Kommentar, was dazwischen liegt wird somit für den Besucher nicht dargestellt. Nur der IE erkennt seine Sonder- Syntax (”if IE” bedeutet nat. “wenn ein IE”) und reagiert dementsprechend- Anzeige der Zeile “Ich bin ein IE”.
  • In Zeile zwei werden diese “CC / HTML- Kommentare” mittels “<!- -” und “- ->” sofort wieder geschlossen bzw. vorher geöffnet. “<!- -[if !IE]>- ->” und “<!- -<![endif]- ->” sind also “in-sich” geschlossene Kommentare, alles was dazwischen liegt (”Ich bin kein IE”) wird von allen Browsern angezeigt.
    Nur nicht vom IE: der erkennt “[if !IE]” als CC, und da er aber ein IE ist (das Rufzeichen “!” wird in vielen Programmiersprachen als “nicht”- Bedingung verwendet) ignoriert er alles bis zum Abschluß des CC, also bis zu “<![endif]–>” – keine Anzeige der Text- Zeile.

Easy as easy can be – oder auf deutsch gesagt: das Einfache kann so einfach sein ;-)

Für Interessierte hat Microsoft eine Dokumentation mit erweiterten Informationen online gestellt. Dort sind noch andere (meist nicht valide) Möglichkeiten zu finden.

  • Beitrag bei facebook posten
  • Beitrag bei twitter posten
  • Diese Seite mit anderen teilen - 'Social Bookmark Dienste'

ScreenSteps 2.6 – Tutorial SoftwareCMS “Self!Service lite” – Update 09.6.10

Archiv / Übersicht

zur Weblog Startseite

2010

2009

2008

2007

2006

Kommentar

Kommentar schreiben