Untitled Document
Assurer une compatibilité multinavigateur grâce aux commentaires conditionnels

En savoir plus

 

Implémentés dans les versions Windows d'Internet Explorer depuis la version 5.0, les commentaires conditionnels sont utilisables dans toutes les pages HTML et XHTML marquées text/html, ainsi que dans des pages XSLT.

Vous l'aurez compris, extensions des balises de commentaires, ils ne seront pas interprétés dans les autres navigateurs et permettent un codage propre.

Microsoft propose deux versions de ces commentaires, les Downlevel-hidden et les Downlevel-revealed. Si les premiers sont compatibles avec les normes HTML (W3C), il n'en est pas de même pour les seconds. Mais qu'importe, pour notre propos nous resterons résolument compatibles !

 

La syntaxe HTML est de la forme

 

<!--[if condition]>
code HTML réservé à IE
<![endif]-->
 

La syntaxe XSLT est de la forme

 

<xsl:comment><![CDATA[[if condition]>
pseudo-html
<![endif]]]</xsl:comment>

 

La condition peut-être enrichie par une ou plusieurs combinaisons d'opérateurs, comme décrit ci-après

 

Exemple : [if IE 7]
pour toutes les versions d'IE
[if IE 5.5000]
pour la version 5.5 uniquement

• ! : négation de la condition
Exemple : [if !IE 7]
pour toutes les versions autres que 7

• lt : plus petit que (less than)
Exemple : [if lt IE 6]
pour toutes les versions inférieures à 6

• lte : plus petit ou égal à (less than or equal)
Exemple : [if lte IE 5.5]
pour toutes les versions inférieures ou égales à 5.5

• gt : plus grand que (greater than)
Exemple : [if gt IE 5]
pour toutes les versions supérieures à 5

• gte : plus grand ou égal à (greater then or equal)
Exemple : [if gte IE 5.5]
pour toutes les versions supérieures ou égales à 5.5
• ( ) : permet de créer des conditions complexes

• & : et logique
Exemple : [if (gt IE 5) & (lt IE 7)]
pour toutes les versions supérieures à 5 et inférieures à 7

• | : ou logique
Exemple : [if (IE 6) | (IE 7)]
pour toutes les versions 6 et 7

• true : vrai
Exemple : [if true]
retourne un test toujours positif

• false : faux
Exemple : [if false]
retourne un test toujours négatif

 


JDN Développeur Envoyer Imprimer Haut de page