Feuille de style pas chargée par Firefox quand le serveur web renvoie des mauvai

ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005 - 6 oct. 2005 à 13:51
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 6 oct. 2005 à 15:01
Bonjour,

Les navigateurs à moteur d'affichage Gecko (Firefox, Mozilla) ignorent les feuilles de styles qui ne sont pas associées par le serveur au type MIME requis, c'est à dire text/css. Il s'agit de serveurs envoyant l'en-tête HTTP Content-Type en text/plain au lieu de text/css. La feuille de style n'est alors tout simplement par chargée par le navigateur (bien que valide).

Cela arrive en principe uniquement quand le DOCTYPE de la page est en XHTML 1.0 Strict mais je le rencontre également avec du HTML 4 transitionnal.

Existe-t-il une solution pour résoudre ce problème, autre que :
- configurer Apache pour qu'il reconnaisse bien le type text/css (dans la mesure où je ne sais pas si la personne a la main sur le serveur, tout dépend si c'est en dédié ou en mutualisé).

- mettre ma feuille de style dans chaque page html plutôt que dans un fichier externe (ce que je voudrais idéalement éviter, évidemment).

Merci pour les idées :o) (Pour info, je rencontre ce problème chez Vério)

9 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
6 oct. 2005 à 13:53
<link rel="stylesheet" href="xxx.css" type="text/css" media="all" />
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 oct. 2005 à 14:01
Si les en-têtes ne sont pas bons, il ne faut pas s'étonner que certains
navigateurs (respectant un tant soi peu la norme) les ignorent. C'est
normal.

Donc, comme te le dit FhX, le seul moyen est de mettre les en-têtes corrects.

Bref, il faut que les en-têtes envoyés par requêtes http soient corrects.

Tu peux peut-être essayer d'intercepter l'en-tête envoyé et le modifier
à la volée...mais bon, je dis ça, je ne sais pas exactement comment
fonctionnes ton truc :-)

Donnes plus de détails (pourquoi ny a t il pas le bon en-tête, quoi).
0
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005
6 oct. 2005 à 14:05
Heu? ça c'est un appel normal de feuille de style.
<link href="style.css" rel="stylesheet" type="text/css">

j'utilise aussi une meta mais qui ne change rien au problème :
<META http-equiv="Content-Style-Type" content="text/css">

Pour préciser le problème (qui est connu, j'en ai trouvé trace sur plusieurs sites), la feuille de style fonctionne parfaitement avec tous les autres navigateurs mac et pc, hormis sur Firefox et Mozilla, à cause dont de ce fameux headers renvoyé par Apache.
0
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005
6 oct. 2005 à 14:11
Je ne parle pas du code de ma page mais de la manière dont Apache interprête le fichier .css, qu'il devrait voir comme avec un type MIME : text/css (je vois bien ça par exemple chez Free pour les mêmes pages) et avec non un type MIME text/plain chez Vério.

La validateur CSS (http://jigsaw.w3.org/css-validator/) me valide bien ma feuille de style si je lui soumets l'url du site, mais me donne l'erreur suivant si je lui soumets l'url de la feuille de style elle-même :

I/O Error: Unknown mime type : text/plain
Ce qui confirme le problème. On obtient les mêmes infos avec des plug in Firefox WebDev par exemple.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 oct. 2005 à 14:14
Ah.

Chez moi, cela fonctionne parfaitement bien, avec Apache en serveur web, et Firefox en client web.

Essaye en php, dans ta page ?

header('Content-Type: text/css');





Heu… ça c'est un appel normal de feuille de style.

<link href="style.css" rel="stylesheet" type="text/css">

Ben oui, et pour moi, cela a toujours marché à tous les coups ?
0
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005
6 oct. 2005 à 14:16
Oui cela peut marcher. Tout dépend comment est configuré Apache. Heureusement que la plupart du temps, ça ne pose par de problème d'ailleurs ! :)

Pour corriger mon problème il faudrait faire ça dans la config Apache.
- éditer le fichier mime.conf dans le dossier des fichiers de configuration d'Apache (/etc/httpd/conf )
- ajoutez-y : text/css css
- Redémarrez Apache,
puis forcez votre navigateur à rafraîchir complètement la page HTML (CTRL+SHIFT+R avec Mozilla).

Mais je n'ai pas forcément accès à cette config justement.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 oct. 2005 à 14:18
Ok ok, je viens de piger le problème, lol.



Ben il faut se retourner vers l'administrateur du serveur, à mon avis.

Il y a sans doute une solution avec php, en générant "à la volée" ton
fichier css...avec un nom bien défini...et le lier dynamiquement aussi
à ta page html. Le php se chargeant de fixer le content-type de ta css
crée dynamiquement.

Mais...c'est lourd, juste pour lier une feuille de style.



perso, n'ayant jamais eu ce genre de problème, je ne peux pas t'aider bcp plus.

DE toutes façons, c'est un problème à voir avec l'admin du serveur.
0
ivanmac Messages postés 25 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 6 octobre 2005
6 oct. 2005 à 14:34
Je vais tenter de voir ça avec l'admin, oui.
C'est bête parce que c'est vraiment le genre de problème imprévisible et je ne comprends pas l'utilité d'avoir un serveur Apache qui ignore le type MIME text/css. J'imagine qu'il y a certainement d'autres clients chez cet hébergeur à rencontrer les mêmes soucis.

Bon, ben merci pour les réponses !
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 oct. 2005 à 15:01
Salut,



tu peux changer d'hébergeur :-)



ensuite rajoute ça dans ton htaccess :



AddType text/css .css



a++

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0