Xavier Posté 7 Juillet 2004 Posté 7 Juillet 2004 (modifié) Bonjour, Cela fait un moment que je sèche sur la question. Je ne sais pas s'il est de bon ton de donner l'adresse de son site ici... j'ai une page test, je vous la donne, elle peut être utile : http://smilissimo.free.fr/tests.html Avec Mozilla, tout passe très bien, pas de problèmes. Par contre avec Internet Explorer (v.6 sp1, je ne sais pas avec d'autres ), c'est nettement moins bien. Alors je vais vous expliquer en détail, c'est un peu long mais c'est vraiment compliqué. Il y a quelques semaines de ça, j'ai remarqué un nombre affolant d'erreurs 404 sur mon site. Quand je dis affolant, c'est qu'en quelques jours ils ont dépassé les chiffres de plusieurs semaines de ma page d'accueil J'ai essayé de trouver d'où pouvait venir le problème. En ajoutant un petit script php à ma page 404, je me suis rendu compte que les 90 % des erreurs venaient de MSIE (Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;)) et qu'ils étaient appelés par groupes de 11 depuis une même page (Il faut savoir que mon site étant dédié à Mozilla, IE n'y représente pas plus de 5% des visites, d'où ma suspiscion...) Bien, me dis-je, voilà qui est étrange ! (c'est le moins qu'on puisse dire ). Je fais donc un petit test en local (avec easyphp), je regarde les logs... et là une surprise m'attend ! J'ai des suites de 11 erreurs 404 du style : http://127.0.0.1/styles//url("base_all.css") allhttp://127.0.0.1/styles//url("base_print.css") printetc. Ainsi donc, voilà que je vois que ça correspond exactement à mes 11 feuilles de styles, insérées avec des _AT_import dans 3 feuilles différentes. Pourtant, il me semblait que Internet Explorer connaisait les _AT_import, vu que c'est justement la technique utilisée pour masquer des feuilles de styles aux vieux Netscape 4.7. Après consultation de diverses sources, il me semble même que IE est censé supporter les syntaxes _AT_import avec un media spécifié. Mais pourquoi pas ici J'ai essayé d'enlever les guillemets, les url(), puis les guillemets et les url() en même temps... rien n'y fait J'ai donc créé un petit testcase pour voir. Le nombre de mes feuilles de style a un peu augmenté depuis, mais ça ne change rien au fond du problème. J'ai créé des fichiers portant le nom de ceux cherchés par IE (par exemple un http://smilissimo.free.fr/styles/url(base_all.css) all ). Plus d'erreurs 404 depuis mais fond du problème est toujours là. Sur la page citée au début, (http://smilissimo.free.fr/tests.html), j'ai ajouté dans un div le nom des feuilles. Par défaut, le bloc est caché. Dans les feuilles cherchées par IE, j'ai fait réafficher le bloc et colorer la ligne correspondant à la feuille en rouge. Première surprise : tout n'est pas rouge Une erreur de codage de ma part n'est pas à exclure... mais j'ai vérifié, ça a pas l'air Il faut savoir que j'insère 5 feuilles de styles avec des <link> : http://smilissimo.free.fr/styles/base.css http://smilissimo.free.fr/styles/menuhorizontal.css http://smilissimo.free.fr/styles/menuvertical.css http://smilissimo.free.fr/styles/technique.css et http://smilissimo.free.fr/styles/stryer.css Chacune sauf la première a un titre. Dans ces feuilles sont appelées les diverses feuilles de styles par ces maintenant fammeux _AT_import, comme vous pourrez le voir. Je sais que IE ne supporte pas la syntaxe avec plusieurs medias, mais je réglerai ce problème plus tard, là le problème est plus général. Voilà, je suis désolé d'avoir été si long, j'espère que c'est suffisemment précis pour que quelqu'un ait une réponse à cette question : que faire Merci d'avance PS: on a pas le droit à plus de 10 émoticones ? Même dans un long message comme ça ? Modifié 7 Juillet 2004 par Xavier
Loupilo Posté 7 Juillet 2004 Posté 7 Juillet 2004 Salut Ne t'inquiète pas, le Hub n'est pas co.... non rien Enfin bref, non, il n'st pas mal vu de donner les URLs Je peux pas voir ton problème n'ayant pas IE Et la, sans pouvoir tester, je pense que ça va être... sportif de comprendre Mais de toute façon pourquoi tu t'intéresse à IE ? Ses utilisateurs envient très surement toutes les extensions que tu proposes, mais ils ne vont quand même pas les emuler pour Internet Explhorreur (c'est ma dernière trouvaille celui la ) A+, bonne chance
gou Posté 8 Juillet 2004 Posté 8 Juillet 2004 C'est particulier ton problème... on vit quelque chose de semblable... tous les utilisateurs d'un système sont capable de voir les JS et les CSS liés (link), sauf ceux d'une région, qui n'on plus accès aux JS ni aux CSS... peut-être est-ce un problème semblable... Tu indiques: (...) c'est qu'en quelques jours ils ont dépassé les chiffres de plusieurs semaines de ma page d'accueil Particulier... serait-ce dû à une mise à jour de IE par Microsoft? on se pose la question ici si ce n'est pas un «bug fix» de MS qui, une fois installé, cause des problèmes pour certains utilisateurs et ne permet pas de trouver des fichiers liés... Crois-tu que le problème était présent avant ces quelques jours?
Xavier Posté 8 Juillet 2004 Auteur Posté 8 Juillet 2004 C'est possible... j'ai toujours eu des erreurs 404, mais c'est vrai que d'un coup ça s'est remarqué. Restons dans le Bizarre : hier j'avais moins de 10 erreurs 404, et aujourd'hui Opera 7.51 m'en fait plus de 300 (10 fois moins pour tous les autres) ! Vraiment je ne comprend pas. Je vais essayer Opera 7.51 en local voir s'il le fait pour certains liens en particulier. Je te remercie de ton aide, au moins je suis pas le seul à avoir des choses étranges
Guest CraJK Posté 8 Juillet 2004 Posté 8 Juillet 2004 Ses utilisateurs envient très surement toutes les extensions que tu proposes, mais ils ne vont quand même pas les emuler pour Internet Explhorreur (c'est ma dernière trouvaille celui la tongue.gif ) Bien vu Loupilo, je la ressortirais si tu me le permet
Loupilo Posté 8 Juillet 2004 Posté 8 Juillet 2004 Bien vu Loupilo, je la ressortirais si tu me le permet Tu as mon autorisation, et ce avec grand plaisir Xavier, faut avouer que c'est bizarre ton histoire ;( Es-tu obligé d'utiliser les @import à l'intérieur de tes Css ? Si il n'y a pas un énorme intêret, ça vaut surement mieux que tu regroupes tout dans la même Css (marrant ce smiley ). ++
Xavier Posté 8 Juillet 2004 Auteur Posté 8 Juillet 2004 C'est surtout fort pratique, il y a des bouts de code qui sont réutilisés par plusieurs thèmes... en même temps c'est vrai que ça rend le code moins lisible En fait ça me permet surtout de définir précisément les médias pour lesquels chaque thème s'applique (en fait à la base c'est comme ça que c'est parti, je ne savais pas que ça allait cacher mes styles à IE... et en tous cas pas le faire bugguer comme ça ). Mais je ne sais pas s'ils sont définis objectivement et vraiment correctement Accessoirement pour le style "stryer", ça me permet de le cacher efficacement à IE qui ne peut pas afficher comme il faut tous ces blocs fixes. Mais bon, je vais peut-être effectivement réfléchir à faire ça différemment...
gou Posté 9 Juillet 2004 Posté 9 Juillet 2004 Quelle est la technologie serveur utilisée?? Nous on est avec Apache et Oracle (c'est des applications). On est passé de 9 à 10G et c'est là qu'ont commencé les problèmes avec certains utilisateurs...
Xavier Posté 11 Juillet 2004 Auteur Posté 11 Juillet 2004 Je suis chez free, donc sur Apache, mais quelle version, alors là
Monique Posté 11 Juillet 2004 Posté 11 Juillet 2004 Je suis chez free, donc sur Apache, mais quelle version, alors là Ne serait-ce pas Apache1.3.29 Euh non, je n'ai pas de boule de cristal... j'ai simplement utilisé cet outil du Hub
Loupilo Posté 11 Juillet 2004 Posté 11 Juillet 2004 Ne serait-ce pas Apache1.3.29 Euh non, je n'ai pas de boule de cristal... j'ai simplement utilisé cet outil du Hub C'est ça Monique Moi non plus n'ai pas utilisé de boule de cristal, mais l'outil permettant de voir les entêtes HTTP inclus dans la barre Web Developper 0.8... Xavier, j'anticipe ta question, oui j'ai la version française, mais j'arrive pas à compiler le .xpi... Donc z'êtes pas près de la voir... Et il n'y a pas tous les "bonus" fournis dans la version 0.7 Mais sinon, j'avoue qu'elle est pas mal, surtout en français Pour revenir à ton problème, ben pour l'instant, essaie d'enlever les @import, c'est la seule solution que je voie... Quoique comme je le disais plus haut, les problèmes sous Opera et Internet Explorer ne sont pas d'une importance capitale, le public visé par les extensions étant evidemment celui de Mozilla. A+ Loupilo
gou Posté 13 Juillet 2004 Posté 13 Juillet 2004 (modifié) Peut-être que ça ne vous concernera pas du tout, mais on a trouvé une piste pour le problème chez nous. Le site est effectivement publié par Apache, or, il utilise un cache où tous les fichiers sont compressés GZIP... Normalement, ça fonctionne pour tout le monde, mais étant donné que certains passent par un proxy barrant les fichiers zippés, il semblerait que ça pourrait empêcher le passage des CSS et des images. [...] Pourquoi Internet est si compliqué? (en passant, Oh joie! je viens d'installer AniDisable 0.2 pour Firefox, et enfin les p'tits maudits émoticons ont arrêté de bouger!!) Modifié 13 Juillet 2004 par gou
LaurentDenis Posté 14 Juillet 2004 Posté 14 Juillet 2004 Heu.... ça n'a peut-être rien de bien compliqué, en fait Xavier, dans http://smilissimo.free.fr/styles/menuvertical.css, tu utilises la règle _AT_import sous la forme: @import url(menuvertical_plan.css) screen,tv,projection; Or IE5, IE5.5 et IE6 Win ne reconnaît pas la règle _AT_import dans une feuille de style lorsque le type de media est précisé. Voir par exemple http://w3development.de/css/hide_css_from_browsers/import/ Il ne reconnaît que: @import url(menuvertical_plan.css); Il devrait normalement ignorer les règles qu'il ne supporte pas... Mais là, apparemment, il tente de traiter l'url et aboutit à un infâme bouillon qui provoque tes erreurs 404.
Xavier Posté 14 Juillet 2004 Auteur Posté 14 Juillet 2004 Il me semblait avoir lu ici : http://www.phoenity.com/newtedge/hide_css_ie/ que IE savait appliquer un media type sur le _AT_import, mais pas plus... il y a donc une erreur quelque part ! Je vais investiguer plus avant
LaurentDenis Posté 14 Juillet 2004 Posté 14 Juillet 2004 Hum... Je n'utilise pas, personnellement, les _AT_import dans les CSS (notamment pour des raisons de support à géométrie variable comme ici), mais seulement directement dans un <style> XHTML. ceci pour dire que je ne parle pas d'expérience dans ce cas. Mais lorsque je regarde dans IE5 Win, IE5.5Win et IE6Win le test http://www.w3development.de/css/hide_css_f...rowsers/import/ auquel fait référence http://www.phoenity.com/newtedge/hide_css_ie/, et plus particulièrement : url() with media _AT_import url(../hide1b.css) screen; This sentence should be blue. Hides CSS from: Netscape 4.x Win IE 6 and below ... eh bien... "This sentence is not blue in IE" Ce que confirme le test rapide effectué sur ta feuille de style ce matin. Moralité 1: quand quelqu'un affirme quelque-chose en se référant à une page de test, toujours tester la page de test. j'aurais été le premier à tomber dans le panneau, cela dit. Non mais, à qui se fier, je vous le demande !!! Moralité 2: la page de test ne couvre pas forcément toutes les possibilités de support. Il faudrait s'assurer qu'il n'y a pas un _AT_import url(...) quelque-chose bien précis qui ne fonctionnerait pas dans IE.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant