什么可能导致CSS无法在所有浏览器上偶尔加载?

时间:2008-09-18 16:23:48

标签: css tomcat

我正在开发一个webapp,而且每隔一段时间我们就会遇到不加CSS而加载页面的情况。此问题已在IE6,IE7,Safari 3和FF3中显示。

页面刷新将始终解决问题。

加载了3个CSS文件,所有这些文件都使用@import:

在同一个样式块中
<STYLE type="text/css">
  @import url([base css file]);
  @import url([skin css file]);
  @import url([generated css path]);
</STYLE>

在我们花时间检查html源代码的任何情况下,没有什么是不寻常的。访问日志似乎也正常 - 我们在请求时获取静态CSS文件的HTTP 304响应,并为我们生成的CSS提供HTTP 200响应。

mimetype是css文件和生成的css的text / css。我们正在使用iPlanet服务器,它将请求转发给Tomcat服务器。

davebug问:

  

它是否始终是相同的css文件没有加载,或者是所有这些文件都是均匀的问题?

没有加载任何CSS文件。 HTML中定义的任何样式都可以正常工作,但当发生这种情况时,任何CSS文件中都没有任何工作。

5 个答案:

答案 0 :(得分:4)

我遇到类似的事情,我能够通过首先使用“link rel”方法而不是“@import”包含基本样式表来修复。即将[base css file]包含移动到:

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

并把它放在其他人面前。

答案 1 :(得分:3)

如果它经常发生,您可以在浏览器中看到它,请尝试安装Live http标头Firefox扩展或Tamper Data扩展,并观看浏览器看到的响应标头。

答案 2 :(得分:1)

我不知道为什么,但就我而言,如果页面是使用/ActionName之类的路径加载的,我会看到这个问题。

但如果我将其(例如)更改为/reservedArea/ActionName/aPath/ActionName则可行:/

这很疯狂......

答案 3 :(得分:0)

检查标题是一个好主意,但我想你将从中学到的只是服务器每隔一段时间就没有响应一个请求。

我看到这种情况一直在网上发生。在刷新,css混乱等情况下,图像不会加载。所有情况都通过刷新解决。

我想象一种你可以“修复”它的方法,也就是说,在你的cs文件中指定一个元素的图像的url。然后,在javascript中的页面加载中,获取该元素并查看该图像是否已加载。如果没有,那么让页面重新加载。

看起来很奇特,但那是我唯一的想法...

答案 4 :(得分:-1)

使用ab或httperf或curl或其他东西重复加载来自网络服务器的CSS文件。也许它不能始终如一地为这些页面服务。