外部样式表要么不下载,要么在极少数情况下不应用

Ben*_*enR 1 html css browser stylesheet

我记得一些非常罕见的例子,看到主要网站(亚马逊,Facebook等)要么没有下载CSS文件,要么没有应用规则,导致页面看起来像这样:

无风格的Facebook

我们的任务是在收到投诉电子邮件后提供内部解释,其中包含我们其中一个网站的用户显示相同效果的屏幕截图.屏幕截图包含敏感的用户信息,因此我无法发布.但它显示正在应用内联样式,但未应用从外部CSS文件引用的任何样式.

不幸的是,我无法重现这个问题,除了说"风格没有被应用"之外,我会详细解释,我很想了解它.

我将不胜感激为什么会发生这种情况或参考任何文章.即使有人知道这个事件被称为什么,我也很乐意去研究它,但是到目前为止我还是空白了.

Geo*_*nos 7

可能会出现多种情况:

1)带宽问题:正如italo.nascimento所提到的,一个缓慢的连接,你的HTML被下载,但你的CSS超时,所以你留下了一个裸的HTML页面(当网站是在DoS下或有许多时,通常也会发生这种情况)许多访客和服务器无法跟上流量)

2)缓存问题:HTML中的内容发生了变化,但CSS是从浏览器的本地缓存中提供的,因此选择器不匹配...

3)FOUC:它与你所要求的并不相似,除非在页面加载期间制作了打印屏幕.它被称为Flash of Unstyled Content.

通常,90%的这类问题都是由连接问题引起的.丢包,TimeOuts,CDN无法正常工作..而且因为它们是随机的我不认为你可以"重现它们" - 它不是可以修复的东西.

  • 我不会发布单独的答案,而是添加这个优秀的解释,建议加载CSS时网络相关的超时可以通过组合和缩小CSS文件来减轻(虽然没有消除).http://www.hanselman.com/blog/TheImportanceAndEaseOfMinifyingYourCSSAndJavaScriptAndOptimizingPNGsForYourBlogOrWebsite.aspx (2认同)
  • 我说这个特殊情况可以通过CDN(内容分发网络)故障轻松解释.大型站点通常使用单独的服务器来托管其静态内容以加快交付 - 如果提供这些文件的网络存在问题,动态HTML将加载,但不会加载任何外部资产.好事 - 这是非常罕见的,糟糕的 - 你无能为力. (2认同)