2009-07-02 3 views

Répondre

41

De l'Wikipedia article on conditional comments (modifié pour répondre à vos besoins de version):

<!--[if gt IE 7]><!--> 
<p>This code displays on non-IE browsers and on IE 8 or higher.</p> 
<!--<![endif]--> 

Le balisage bizarre dans la première ligne sert à rendre les normes de balisage conforme.

+0

+1 Très utile! –

+0

Existe-t-il un moyen de faire valider le commentaire conditionnel pour les navigateurs non IE avec https://validator.w3.org/? Si vous utilisez tout cela sauf IE ou des variations de commentaire conditionnel, il va jeter l'erreur de commentaire bidon sur les balises de fermeture.Y at-il un moyen d'éviter cette erreur de validation? – lowtechsun

+0

En effet il y a. [www.456bereastreet.com/archive/200511/valid_downlevelrevealed_conditional_comments/](http://www.456bereastreet.com/archive/200511/valid_downlevelrevealed_conditional_comments /) – jkdev

6

Votre question serait mieux formulée comme « Utiliser des commentaires conditionnels pour exclure le contenu des navigateurs IE » ;-)

Bien que les pays candidats se contentent le plus souvent utilisés pour fournir plus pour IE, il est une variante qui vous permet de empêcher l'IE de voir le contenu. Avec leur arrogance habituelle, MS a choisi d'appeler cela "downlevel-revealed conditional comments" (parce que tous les autres navigateurs sont pire que IE dans leur monde).

Quelque chose comme

<![if !IE]><p>You are not using Internet Explorer.</p><![endif]> 

devrait être tout ce dont vous avez besoin. Notez que décrire cela comme un "commentaire conditionnel" est un autre exemple de l'utilisation étrange des mots de MS pour signifier exactement ce qu'ils choisissent de signifier plutôt que ce que tout le monde veut dire: ce qui précède fonctionne parce qu'il ne s'agit pas vraiment d'un commentaire , donc tous les navigateurs autres que IE supposent simplement que vous avez fait une erreur hideuse dans votre code HTML et continuer à analyser le contenu à l'intérieur. Cela signifie également qu'il échouera probablement dans XHTML servi avec le type de contenu application/xhtml + xml, mais c'est une autre histoire.

+0

Cela cible autre chose que IE, mais qu'en est-il d'IE> 7? En outre, le balisage n'est pas un code HTML valide et, par conséquent, le comportement de tout navigateur non-IE n'est pas spécifié. –

+3

La condition peut être pour IE 8 et plus. En ce qui concerne le balisage invalide et les conséquences non spécifiées: quoi d'autre attendez-vous de Microsoft? ;-) – NickFitz

0

Il y a une très bonne ressource pour ces choses à: http://www.javascriptkit.com/javatutors/conditionalcompile.shtml

Ce conjointement avec la variable @_jscript_version devrait vous aider à obtenir le résultat souhaité. (Vous aurez à Google "Informations de version (Windows Scripting - JScript)" pour la recherche de la version JScript -> IE que je suis seulement autorisé à intégrer un lien en tant que nouvel utilisateur.) :-(

Questions connexes