Page 2 sur 3

Publié : 19 nov. 2004, 11:37
par olab
Calimo avec ce script essaye de voir si la personne pourra ou non utiliser les extensions, il ne cherche pas à bloquer l'accès au site :-)

D'ailleurs quand on fait un fichier include comme ça calimo, on ajoute l'extension .php, comme ça, personne ne voit le code ;-)

Publié : 19 nov. 2004, 18:48
par GizMecano
Hello world,
Mais ce n'était pas utilisé dans le but de restreindre l'accès à quoi que ce soit, juste à afficher un message [etc.]
Eh bien, c'est bien ce que je veux faire moi. Je ne veux pas empêcher les utilisateurs d'IE d'afficher ma page, je veux juste qu'il charge une CSS particulière, parce que ce nigaud de logiciel ne gère pas correctement les styles.

Je ne vois toujours pas comment faire ça avec des commentaires conditionnels sans alourdir le code pour tous les navigateurs alors qu'il me paraît si simple de faire une petite détection en PHP pour trouver comment afficher la page pour tel ou tel navigateur.
Bref, tout est dans la nuance et l'utilisation qu'on en fait.
Exactement : alors, comment se départager sur mon problème : un cas ou l'autre voire un mixe des deux :?:

Vos avis m'intéressent, mais j'aimerais bien être clair sur le fait que, actuellement, avec mon système, je n'empêche aucun navigateur de lire le site correctement, je me contente de faire une sorte d'aiguillage qui permet justement un affichage optimum pour chacun (enfin, je ne distingue surtout que IE et la Moz Family). Ceci dit, s'il ne vous semble pas assez précis, je veux bien qu'on me dise comment faire mieux.

Merci encore...

Ciao,

Publié : 19 nov. 2004, 20:11
par martin

Code : Tout sélectionner

<!--[if lt IE 7]>
<link href="hackIE.css" rel="stylesheet" type="text/css">
<![endif]-->
Si tu mets ce code dans le head de ta page, seul IE inférieur à la version 7 chargera cette feuille de style, tous les autres navigateurs le prendront comme un commentaire et ne s'en soucieront pas. Cette feuille particulière peut contenir des propriétes spécifiques à IE, et en "écraser" d'autres définies dans d'autres css chargés plus tôt (c-a-d situé au dessus, ...avant .., dans le code).

Publié : 20 nov. 2004, 09:54
par calimo
GizMecano a écrit :Eh bien, c'est bien ce que je veux faire moi. Je ne veux pas empêcher les utilisateurs d'IE d'afficher ma page, je veux juste qu'il charge une CSS particulière, parce que ce nigaud de logiciel ne gère pas correctement les styles.
Donc tu veux bien l'empêcher de faire quelque chose :wink:
Tu dois donc avoir une réussite de 100% !
GizMecano a écrit :Je ne vois toujours pas comment faire ça avec des commentaires conditionnels sans alourdir le code pour tous les navigateurs alors qu'il me paraît si simple de faire une petite détection en PHP pour trouver comment afficher la page pour tel ou tel navigateur.
Alourdir le code de quelques lignes, ce n'est pas si affreux. Pour du code visible dans IE6- :

Code : Tout sélectionner

<!--[if lt IE 7]>
Styles pour IE6 et moins
<![endif]-->
Pour cacher du code à IE :

Code : Tout sélectionner

<!--[if !IE]><-->
Styles pour tous sauf IE
<!--> <![endif]-->
Et voilà le travail. Ce n'est pas très lourd, c'est valide (remarque : la syntaxe présentée par MS ne l'est pas :evil: )... que vouloir de plus ?

Publié : 20 nov. 2004, 17:35
par SB
Au fait je me demandais : pour un menu déroulant puis-je le faire en css pour Firefox (qu'Internet Explorer ne comprendra pas) et rajouter dans le code html un javascript placé dans les balises conditionnelles (que Firefox ne comprendra pas) ?
Y a-t-il des navigateurs qui comprennent les deux ou aucun ?

Publié : 20 nov. 2004, 18:34
par jv2759
Pour le menu déroulant, essais d'utiliser un code valable sur les deux. Même si ie et digne d'un muser, il ne faut pas non plus exagérer...

Publié : 20 nov. 2004, 18:46
par chBok
SB a écrit :Au fait je me demandais : pour un menu déroulant puis-je le faire en css pour Firefox (qu'Internet Explorer ne comprendra pas) et rajouter dans le code html un javascript placé dans les balises conditionnelles (que Firefox ne comprendra pas) ?
Y a-t-il des navigateurs qui comprennent les deux ou aucun ?
Il y a quelques exemples ici : http://www.alsacreations.com/articles/modelesmenus/

Publié : 20 nov. 2004, 20:45
par SB
Ces exemples mêlent css et javascript. C'est je pense le seul moyen de faire un code valable ausi bien pour FF que IE ou autre navigateur. Mais justement je veux un menu en css pur pour les vrais navigateurs et du script pour les autres.

Publié : 20 nov. 2004, 20:46
par jv2759
Avec uniquement des css je ne sais pas si tu vas pouvoir faire grand chose.

En plus la le javascripte et vraiment minimal...

Publié : 20 nov. 2004, 21:05
par SB
Bon ben il ne me reste plus qu'à essayer...

Publié : 20 nov. 2004, 21:31
par calimo
Humm... j'ai commencé à douter fortement des menus déroulants en CSS. Ce n'est de loin pas idéal. Opera a de la peine (mais ils se sont bien améliorés, mon menu passe nettement moins mal). Je ne sais pas ce qu'il en est de KHTML.

Si tu veux faire ce genre de choses mixtes, il va falloir faire un menu qui respecte mieux la séaration que celui d'alsacréations, qui d'ailleurs est nettement moins bien que celui qui était présenté il y a quelques mois. Il ne sépare pas la dynamique du contenu, et est très peu accessible (innavigable au clavier si JS est activé, etc).
Bref il va falloir repartir sur des bases saines. Je n'ai malheureusement pas d'exemples de "bon" menu.

Publié : 22 nov. 2004, 17:23
par GizMecano
Hello world,
calimo a écrit :Et voilà le travail. Ce n'est pas très lourd, c'est valide (remarque : la syntaxe présentée par MS ne l'est pas :evil: )...
D'accord. Je prends bonne note de tout ça... Ce n'est effectivement pas très lourd, quoique ça rajoute un peu de code inutile (inutile pour l'un ou l'autre des navigateurs, s'entend).
calimo a écrit :que vouloir de plus ?
Ben justement :? Je profitais de ma détection par user-agent pour dire à IE que mes logos et titres étaient en JPG alors que les autres étaient en PNG... Là, je ne vais plus pouvoir faire ça, non :?:

Parce que je crains que mélanger des commentaires conditionnels à des scripts PHP ne deviennent diablement compliqué, non :?:

Encore merci à tous.

Ciao,

Publié : 22 nov. 2004, 18:51
par calimo
Tu fais pareil, mais au lieu d'inclure des styles dans tes commentaires, tu mets des images...
C'est clair que c'est vite un peu le bordel, alors tu ne mets que des png, c'est plus simple. Oublie purement et simplement ton script php pour ça, pour les mêmes raisons que citées avant (et si tu commences à mélanger les deux... :? tu courres à la catastrophe).
Laisse la page se dégrader naturellement, non seulement tu te compliques la vie, mais en plus c'est encore pire :roll:

Publié : 22 nov. 2004, 20:16
par GizMecano
Hello world,

Je rebondis sur ce vieux passage du fil en particulier, parce que je m'aperçois que nous avons finalement un problème de communication basique :?
calimo a écrit :
GizMecano a écrit :Eh bien, c'est bien ce que je veux faire moi. Je ne veux pas empêcher les utilisateurs d'IE d'afficher ma page, je veux juste qu'il charge une CSS particulière, parce que ce nigaud de logiciel ne gère pas correctement les styles.
Donc tu veux bien l'empêcher de faire quelque chose :wink:
Tu dois donc avoir une réussite de 100% !
Avec ma méthode, en effet, j'ai quand même une réussite de 100 % :wink:

Je m'explique : MSIE ne sait de toute façon pas charger plusieurs CSS. Donc, si je l'aiguille sur une CSS particulière, je ne vois pas en quoi je bride le visiteur.

En clair, je ne l'empêche pas de faire quelque chose, je lui dit que, parmi un choix qu'il ne sait pas gérer, celui qui lui convient est celui-ci et pas celui-là.

Ceci dit, bien entendu, ça n'invalide pas le reste des critiques sur le procédé de détection du navigateur par l'usage de user-agent :)

Ciao,

Publié : 22 nov. 2004, 20:27
par GizMecano
Hello world,
calimo a écrit :Tu fais pareil, mais au lieu d'inclure des styles dans tes commentaires, tu mets des images...
D'accord, mais alors là, n'allez pas me dire qu'à la fin des fins je ne finis pas par allourdir le code, et uniquement pour écrire un code made in MS, parce que ce crét... de logiciel ne sait pas lire des pages normalement... :?

Parce que si je place toutes ces exceptions dans des commentaires conditionnels, alors que pour leur elles sont simplement écrites par des variables, ça multiplie sensiblement le nombre de lignes...
calimo a écrit :C'est clair que c'est vite un peu le bordel, alors tu ne mets que des png, c'est plus simple.
Ben non... Sinon, autant ne pas faire une CSS juste pour IE. La démarche n'a plus aucun sens... :cry: MSIE ne sait pas les lire correctement. C'est très très laid.
calimo a écrit :Laisse la page se dégrader naturellement, non seulement tu te compliques la vie, mais en plus c'est encore pire :roll:
Je ne comprends pas ce que tu veux dire par "dégrader naturellement" : tu parles des commentaires conditionnels ou du fait que, même en les utilisant, comme les PNG ne sont pas correctement lu, mes pages seront de toute façon pourries sous MSIE :?:

En tout cas, j'espère que ce fil permettra à ceux qui se posent ce genre de question de trouver quelques éléments de réponse. Merci.

Ciao,