Journal Devel. Web : commentaires conditionnels

Posté par  .
Étiquettes : aucune
0
13
mar.
2005
J'avais déjà écrit tout ça sur mon blog mais j'avais envie d'en faire part donc c'est fait :)

Je pense que tout le monde ne connais pas les commentaires conditionnels, dans un soucis de comptabilité ceux ci ont été inventés pour et IE, en effet comme son modèle de boite diffère de celui définit dans les standards il fallait un moyen pour palier à ce problème... Ils ont surement "créer" les commentaires conditionnels dans ce but.
Les commentaires conditionels sont fait de la sorte :
<! --[if IE 5.5]>
bloc css
<![endif]-->

Des personnes me diront surement qu'une page web ne doit pas tenir compte du navigateur et que pour tous les même règles doivent être utilisées cependant ça relève de l'utopie dans certains cas... Les standards ont été crées dans ce sens ça j'en suis bien conscient mais il faut bien comprendre que l'on ne peux pas dénigrer de navigateur (IE ???) puisque évidemment tout le monde est libre de choisir celui qui lui convient. Il est donc bien nécessaire d'avoir des solutions mais il faut que celles ci ne nuisent pas à l'interopérabilité et restent conforme aux standards.

Une méthode largement utilisée afin de distinguer IE des autres navigateurs et les Hacks CSS, ces derniers proviennent d'erreur d'analyse de la feuille de style et le navigateur incriminé va selon le cas, "rentrer" ou non dans ce Hack.
D'autres méthodes existent tel que la reconnaissance via le JavaScript ou du côté du serveur cependant ces deux méthodes sont à déconseiller, le JavaScript peut-être désactivé du côté du navigateur Web ce qui rendrait l'exécution d'un script de reconnaissance impossible, de plus utiliser du JavaScript me parait être une solution "lourde" pour pallier aux déficiences d'un navigateur. La reconnaissance du navigateur côté serveur possède elle aussi des inconvénients non négligeables, un navigateur peux changer son identifiant pour diverses raisons et des propriétés CSS pour un autre navigateur lui serait malheureusement affectée...

Quel est la solution miracle alors ? les Hacks CSS ? les commentaires conditionnels ?
C'est justement la question que je me suis posé chacune de ses deux solutions a ses avantages et inconvénients.
Les Hacks CSS risquent de rendre les futurs versions des navigateurs incompatibles avec les précédentes (puisque l'on exploite des bugs) ce qui en soit est assez grave, cependant en les utilisant la partie XHTML n'a pas besoin d'être touchée et j'apprécie ce côté "propre" (par contre dans la feuille de style, ca devient plutôt le bazar).
Les commentaires conditionnels touchent à la feuille de style mais n'y mette pas le bazar, une autre feuille de style sera simplement chargée pour le navigateur en question. Par contre les commentaires conditionnels touchent au XHTML de plus ceux-ci ne sont interprétés que sous IE (ce sont de simples commentaires dans les autres navigateurs) et je suis contre ce genre de fonctionnalités qui dépendent du navigateur... ça me fait penser au vieux html, mais ça n'a pas sa place ici.

Voilà j'espère vous avoir donné un bon avis de la chose, pour ma part je pense continuer à me renseigner encore quelques temps.
  • # définir le DOCTYPE

    Posté par  (site web personnel) . Évalué à 8.

    Il me semble qu'à partir d'IE 6 (peut-être avant aussi) si on prend le soin de bien définir le DOCTYPE il passe en mode conforme (compliant).

    J'viens de cherche un lien qui expliquerait, ils en parlent là : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dn(...)

    Le truc auquel il faut faire attention si tu fais du xtml c'est de ne pas mettre la déclaration xml (càd <?xml version="1.0" encoding="xxxxxx"?>) en début de fichier. Le temps que j'ai perdu à cause de ça!!!!
  • # avec du PHP

    Posté par  . Évalué à 3.

    J'en profite pour partager mon experience :

    moi en cas de besoin j'utilise du PHP qui permet de connaitre l'agent, tout se passe du coté du serveur, on n'est pas tributaire du javascript, mais bien sur il faut que la chaine n'ai pas été trop changée...
    • [^] # Re: avec du PHP

      Posté par  . Évalué à 3.

      PHP ne permet "que" de connaître l'User-agent tel qu'il est envoyé par l'utilisateur. Mais si jamais l'utilisateur utilise un "anonymiseur" qui supprime ce genre d'informations, ou bien s'il utilise un navigateur qui ne figure pas dans ta liste (Opera par exemple...), ça peut vite devenir problématique.

      Je n'ai pas testé ces fameux commentaires conditionnels, mais ça m'a l'air assez intéressant... À tester en tout cas.
    • [^] # Re: avec du PHP

      Posté par  . Évalué à 3.

      Moi j'utilise IE7 qui fonctionne à l'aide de commentaires conditionnels: http://dean.edwards.name/IE7/(...)
      • [^] # Re: avec du PHP

        Posté par  . Évalué à 2.

        C'est vraiment très très lourd comme solution IE7 rien qu'à voir ce qu'il faut télécharger en plus (environ 400ko).
        Bref je ne pense pas que ce soit le genre de solutions apropriée

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.