Conditional Comments

Conditional Comments

Conditional Comments (kurz: CC; englisch für: Bedingte Kommentare) sind Kontrollstrukturen in HTML-Dokumenten, die nur vom Microsoft Internet Explorer und Programmen aus der Microsoft Office-Reihe (z. B. Microsoft Word) interpretiert werden.

Sie bieten dem Autor die Möglichkeit, bestimmten oder allen Versionen dieser Programme HTML-Code zu übergeben, ohne dass dieser Code Auswirkungen auf die übrigen Webbrowser oder die Standardkonformität des Quellcodes hätte.

Inhaltsverzeichnis

Syntax (HTML)

Die Verwendung erfolgt analog zu echten HTML-Kommentaren (<!-- Kommentar -->):

<!--[if Bedingung]> Anweisungen <![endif]-->

Normale User Agents interpretieren diese Struktur als syntaktisch korrekten Kommentar und ignorieren den Inhalt.

Der Internet Explorer hingegen prüft die formulierte Bedingung und interpretiert den Inhalt, wenn die Bedingung zutrifft. Es ist durch vorgegebene Vergleichsoperatoren und -werte möglich, unterschiedliche Versionen des Browsers anzusprechen.

Bei der Verwendung des Standardkonformen Modus entfällt im Internet Explorer ab Version 10 die Möglichkeit, Conditional Comments zu nutzen[1]. Das Konstrukt wird dort lediglich als Kommentar behandelt.

Werte (Auswahl)

Wert Funktion Beispiel
! IE wenn kein Internet Explorer <!--[if ! IE]>
IE wenn Internet Explorer <!--[if IE]>
IE 5 wenn Internet Explorer Version 5.x <!--[if IE 5]>
IE 5.0 wenn Internet Explorer Version 5.0 <!--[if IE 5.0]>
IE 5.5 wenn Internet Explorer Version 5.5 <!--[if IE 5.5]>
IE 6 wenn Internet Explorer Version 6 <!--[if IE 6]>
IE 7 wenn Internet Explorer Version 7 <!--[if IE 7]>
IE 8 wenn Internet Explorer Version 8 <!--[if IE 8]>
IE 9 wenn Internet Explorer Version 9 <!--[if IE 9]>
mso wenn Microsoft Office <!--[if mso]>
mso 9 wenn Microsoft Office 2000 (Office 2001 auf Mac OS) <!--[if mso 9]>
mso 10 wenn Microsoft Office 2002 (Office X auf Mac OS) <!--[if mso 10]>
mso 11 wenn Microsoft Office 2003 (Office 2004 auf Mac OS) <!--[if mso 11]>
mso 12 wenn Microsoft Office 2007 (Office 2008 auf Mac OS) <!--[if mso 12]>
vml wenn VML unterstützt wird <!--[if vml]>

Wenn es nötig wird, können Bedingungen auch geklammert werden.

Operatoren (Auswahl)

Operator Funktion Beispiel
! Nicht-Operator <!--[if !(IE 6)]> (wenn nicht IE 6)
lt Kleiner-als-Operator <!--[if lt IE 6]> (wenn kleiner als IE 6)
lte Kleiner-gleich-Operator <!--[if lte IE 6]> (wenn kleiner als oder gleich IE 6)
gt Größer-als-Operator <!--[if gt IE 6]> (wenn größer IE 6)
gte Größer-gleich-Operator <!--[if gte IE 6]> (wenn größer als oder gleich IE 6)
& Und-Operator <!--[if mso & !vml]> (wenn Office-Programm ohne VML-Unterstützung)
| Oder-Operator <!--[if mso | ie]> (wenn Office-Programm oder IE)

Umkehrung

Normalerweise verstecken bedingte Kommentare Anweisungen vor User-Agents, die diese nicht verstehen. Microsoft spricht hierbei von „downlevel-hidden“, also „vor älteren Browsern versteckten“, Kommentaren. Diese Wirkung lässt sich aber auch umkehren (sog. „downlevel-revealed“-Kommentare):

<![if lt IE 7]> Anweisungen für IE vor Version 7 und andere Browser <![endif]>

Hierbei handelt es sich nicht mehr um einen HTML-Kommentar, sondern um syntaktisch fehlerhaftes und somit invalides Markup. Die betreffende Bedingung wird nur vom Internet Explorer ausgewertet. Andere Browser interpretieren die Zeichenfolgen <![if lt IE 7]> und <![endif]> als ungültige Tags und stellen nur den Inhalt dazwischen dar. Syntaktisch korrekt und valide nach W3C ist folgende Variante:

<!--[if lt IE 7]><!--> Anweisungen für IE vor Version 7 und andere Browser <!--<![endif]-->

Um Code im Internet Explorer auszuführen und einen alternativen Code für andere Browser einzubinden, eignet sich die nachfolgende Variante. Sie ist ebenfalls nach dem W3C syntaktisch korrekt:

<!--[IF IE]>Das ist für den IE. <![if ! IE]><!-->Das ist für alle anderen Browser.<!--><![ENDIF]><![ENDIF]-->

Syntax (JScript)

Seit dem Internet Explorer 4 (JScript 3.0) gibt es einen ähnlichen Mechanismus für JavaScript. Der im IE verwendete JScript-Interpreter wertet folgende Syntax aus, die von anderen Interpretern nur als Kommentar erkannt wird. Microsoft nennt das Verhalten „bedingte Kompilierung“ (Conditional Compilation).

<script type="text/javascript">
/*@cc_on @*/
/*@if (@_jscript_version >= 5.5)
    // dieser Bereich ist für jscript-Interpreter >= v5.5 sichtbar
@else @*/
    // dieser Bereich wird alternativ dazu ausgeführt
/*@end @*/
</script>

Diese Syntax ist in ähnlicher Form auch in den Sprachumfang von JScript .NET aufgenommen worden (@cc_on-Anweisung).

Bedeutung für Outlook 2007

Die Darstellung von E-Mails im HTML-Format unter Outlook 2007 wird nicht mehr von einer Komponente des Internet Explorer, sondern von Microsoft Word übernommen[2]. Zusätzlich sind aus Sicherheitsgründen verschiedene HTML-Features (wie Formulare oder Scripte) unter Outlook 2007 nicht verfügbar[3][4]. Die Darstellung von HTML-E-Mail kann mit bedingten Kommentaren für Outlook angepasst werden, um z. B. bei Newslettern eine Alternative zu einem Eingabeformular anzubieten.

<!--[if gte mso 12]> Anweisungen für Office 2007 und größer <![endif]-->

Siehe auch

Weblinks

Einzelnachweise

  1. IEBlog: http://blogs.msdn.com/b/ie/archive/2011/07/06/html5-parsing-in-ie10.aspx. Because some features in earlier versions of IE aren’t compatible with HTML5 parsing, we’ve removed them from IE10 mode.
  2. MSDN: http://support.microsoft.com/kb/933793/. Outlook 2007 uses only Word as the e-mail editor, Stand 3. April 2007.
  3. MSDN: http://msdn.microsoft.com/de-de/library/aa338201.aspx Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 (1/2), Stand August 2006.
  4. MSDN: http://msdn.microsoft.com/de-de/library/aa338200.aspx Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007 (2/2), Stand August 2006.

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Conditional comment — Conditional comments are conditional statements interpreted by Microsoft Internet Explorer in HTML source code. Conditional comments can be used to provide and hide code to and from Internet Explorer. Conditional comments first appeared in… …   Wikipedia

  • Conditional preservation of the saints — The Five Articles of Remonstrance Conditional election Unlimited atonement Total depravity …   Wikipedia

  • CSS filter — A CSS Filter is a coding technique used to hide or show CSS markup depending on the browser s brand and/or version number. Browsers have different interpretations of CSS behavior and different levels of support for the W3C standards. Web… …   Wikipedia

  • Browser-Weiche — Browserweichen sind Techniken um Unterschiede in der Darstellung von Webseiten in verschiedenen Webbrowsern zu umgehen, indem für unterschiedliche Browser unterschiedlicher Code angeboten wird. Bei der Gestaltung von Webseiten ergeben sich… …   Deutsch Wikipedia

  • Comentarios condicionales — Los comentarios condicionales (del inglés técnico: Conditional Comments) consisten en una sintaxis específica aplicable al lenguaje informático HTML que permite especificar que partes se seleccionan y que partes se obvian en un contexto referido… …   Wikipedia Español

  • Browserweiche — Browserweichen sind Techniken, um Unterschiede in der Darstellung von Webseiten in verschiedenen Webbrowsern zu umgehen, indem für unterschiedliche Browser unterschiedlicher Code angeboten wird. Bei der Gestaltung von Webseiten ergeben sich… …   Deutsch Wikipedia

  • Minification (programming) — Minification (also minimisation or minimization), in computer programming languages and especially JavaScript, is the process of removing all unnecessary characters from source code, without changing its functionality. These unnecessary… …   Wikipedia

  • Data URI scheme — The data URI scheme is a URI scheme (Uniform Resource Identifier scheme) that provides a way to include data in line in web pages as if they were external resources. It tends to be simpler than other inclusion methods, such as MIME with cid or… …   Wikipedia

  • Internet Explorer 6 — on Windows XP SP3 Developer(s) …   Wikipedia

  • CC — Die Abkürzung CC steht für: Carbon Copy (Kohlepapier Durchschlag), im E Mail Verkehr für weitere Empfänger von Kopien, siehe Header (E Mail) #CC: Carbon Copy, die Kopie Coburger Convent, ein Zusammenschluss von Studentenverbindungen Conseil… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”