Qu'est-ce qui pourrait empêcher le chargement occasionnel de CSS sur tous les navigateurs?

StackOverflow https://stackoverflow.com/questions/94123

  •  01-07-2019
  •  | 
  •  

Question

Je travaille sur une application Web et, de temps à autre, nous rencontrons des situations où les pages se chargent sans appliquer de code CSS. Ce problème est apparu dans IE6, IE7, Safari 3 et FF3.

Une actualisation de la page résoudra toujours le problème.

Trois fichiers CSS sont chargés, tous dans le même bloc de style à l'aide de @import:

.
<STYLE type="text/css">
  @import url([base css file]);
  @import url([skin css file]);
  @import url([generated css path]);
</STYLE>

Dans tous les cas où nous prenons le temps d’examiner la source HTML, rien n’est hors de l’ordinaire. Les journaux d’accès semblent également normaux: nous obtenons des réponses HTTP 304 pour les fichiers CSS statiques à chaque demande, ainsi qu’une réponse HTTP 200 pour notre CSS généré.

Le type MIME est text / css pour les fichiers CSS et les CSS générés. Nous utilisons un serveur iPlanet, qui transfère les demandes à un serveur Tomcat.

davebug a demandé:

  

Est-ce toujours le même fichier css qui ne se charge pas, ou le problème est-il le même pour tous?

Aucun des fichiers CSS ne se charge. Tous les styles définis dans le code HTML fonctionnent correctement, mais rien dans les fichiers CSS ne fonctionne lorsque cela se produit.

Était-ce utile?

La solution

J'ai rencontré un problème similaire que j'ai pu résoudre en incluant une feuille de style de base à l'aide de l'option "link rel". méthode plutôt que "@ import". c'est-à-dire déplacez votre inclusion de [fichier css de base] vers:

<link rel="stylesheet" href="[base css file]" type="text/css" media="screen" />

et le mettre avant les autres.

Autres conseils

si cela se produit assez souvent pour que vous puissiez le voir dans votre navigateur, essayez d’installer l’extension Firefox en-têtes Live http ou l’extension Tamper Data, et observez les en-têtes de réponse tels qu’ils sont vus par le navigateur.

Je ne sais pas pourquoi, mais dans mon cas, si la page est chargée à partir d'une action avec le chemin tel que / ActionName , je vois ce problème.

Mais si je le change (par exemple) en / reservedArea / NomAction ou / aPath / NomAction , cela fonctionne: /

C'est fou ...

Examiner les en-têtes est une bonne idée, mais j'imagine que tout ce que vous apprendrez d'eux est que le serveur n'a pas répondu à une requête de temps en temps.

Je vois cela arriver tout le temps sur le net. Les images ne se chargent pas tant que vous n'avez pas actualisé votre contenu, les fichiers css sont perturbés, etc. Toutes les situations sont résolues grâce à un rafraîchissement.

J'imagine une façon de "réparer" ceci, peut-être, est en spécifiant dans votre fichier cs une URL pour une image pour un élément. Ensuite, lors du chargement de la page en javascript, récupérez cet élément et voyez si cette image est chargée. Sinon, la page se recharge elle-même.

Cela semble assez exotique, mais c’est la seule idée que j’avais ...

Utilisez ab ou httperf ou curl ou autre chose pour charger plusieurs fois les fichiers CSS à partir du serveur Web. Peut-être qu'il ne sert pas toujours les pages.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top