我正在开发一个 Web 应用程序,我们经常遇到页面在不应用 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 响应。

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

戴夫布格问:

是否总是同一个 css 文件未加载,或者所有这些文件都有问题?

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

有帮助吗?

解决方案

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

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

并将其放在其他人之前。

其他提示

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

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

但是如果我将其更改为(例如) /reservedArea/ActionName 或者 /aPath/ActionName 有用 :/

这很疯狂...

检查标头是一个好主意,但我想您将从中学到的只是服务器不会偶尔响应请求。

我在网上经常看到这种情况发生。图像在刷新之前不会加载,CSS 混乱等等。所有的情况都可以通过刷新来解决。

我想你可以“修复”这个问题的一种方法是在你的 cs 文件中指定某个元素的图像的 url。然后,在 JavaScript 中加载页面时,获取该元素并查看该图像是否已加载。如果没有,则让页面自行重新加载。

看起来很异国情调,但这是我唯一的想法......

使用ab或httperf或curl或其他东西从网络服务器重复加载CSS文件。也许它不能始终如一地提供页面服务。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top