Firefox 3.5+中的无格式内容Flash(FOUC)

ndo*_*fin 1 css firefox base64 concatenation fouc

我们已经到了我们的系绳的终点,试图克服Firefox 3.5.x +中令人讨厌和间歇性的FOUC,我们正在开发一个新的版本.

我们尝试过:

  • 在FF中禁用Javascript
  • 通过删除DOCTYPE使用Quirks模式渲染
  • @import额外的CSS转移到<link>
  • 打开和关闭串联
  • 从concat中删除CSS文件,一次一个
  • 在Firefox中关闭本地缓存
  • 等等

我们以前的版本从未展示任何FOUC问题,因此我们已经对此版本做了些什么.到目前为止我们所做的改变包括:

  • 在所有装饰图像的数据URI上使用Base64编码图像,通过CSS提供.
  • 将"框架"相关的CSS文件与特定于页面的CSS分离,并将它们捆绑为两个单独的CSS文件

要重新创建问题...使用Firefox 3.5.x或3.6.x,然后:

  1. 请访问:http://my.publisher-subdomain.env.yola.net/
  2. 使用用户名登录:'stack@yola.com'和密码:'stackoverflow'
  3. 登录后,您应该访问http://my.publisher-subdomain.env.yola.net/sites/
  4. 单击主导航中的"帐户"链接.
  5. 应该加载帐户页面,您应该看到FOUC.如果未发生FOUC,请清除缓存并重新加载页面.

非常感谢您的帮助!:)

更新:

开发环境仍在展示FOUC,但前提是FireFox内存不足或安装了大量扩展.延迟和渲染速度肯定会影响此FOUC的可见性.

小智 6

虽然这是一个非常古老的问题,但我在寻找同一问题的解决方案时发现了它.所以,我想发布解决方案以供将来参考.我只需要将对我的CSS文件的引用移动到需要在我的标题中的外部Javascript的引用之上.