【问题标题】:Page Load - White "flash" inbetween pages页面加载 - 页面之间的白色“闪烁”
【发布时间】:2011-06-22 00:56:32
【问题描述】:

有两个网站,一个正在开发中。我正在将一个站点移植到 Zend Framework(出于可维护性/集成目的)。

原始(实时)网站具有无缝页面加载 - 它将加载,然后更新屏幕上的内容,同时保留页面上的背景图像、导航等。

移植的网站(开发)会在短时间内完全“闪烁”白光,然后所有内容同时出现。

据我了解,这不是 FOUC(无样式内容的闪存)。两个站点上的内容始终以具有所有 CSS 规则的完整样式显示。这两个站点在渲染时看起来相同,它们使用相同的图像、css 和 HTML 标记。唯一的区别是一个(开发)由 Zend Framework 提供服务,另一个(实时)由过程 PHP 提供服务。

造成这种情况的主要原因是什么,这是 ZF 的已知错误/配置问题吗?我之前没有使用ZF也遇到过这个问题,也没有解决。

感谢您的帮助。

【问题讨论】:

    标签: php css zend-framework xhtml fouc


    【解决方案1】:

    尝试将 javascript 放在页面底部,就在结束 body 标记之前。这应该会加快页面渲染速度,因为加载 javascript 会阻止其他下载(css、图像等),因此在加载所有脚本之前将页面留空。

    【讨论】:

      【解决方案2】:

      它可能是您的网络服务器。尝试将服务器的 HTTP 标头与 http://web-sniffer.net/ 之类的网络嗅探器进行比较,看看缓存标头是否有任何差异。如果有,那么您的浏览器正在转储所有内容并重新开始,这在某些情况下可能看起来几乎像 FOUC。

      【讨论】:

      • 尝试更改所有标题以匹配例如staples.com 的配置。页面之间仍然有白色闪烁。值得一提的是它是有效的 XHTML,没有用于 CSS 的 @imports
      【解决方案3】:

      框架在输出任何内容之前评估控制器逻辑并渲染页面主体是很常见的;这可能会导致延迟发送到客户端的数据,您的旧页面(我猜)会立即转储页面的标题。

      【讨论】:

      • 那真的会导致一个完全空白的页面闪现吗?查看一个页面加载时间比我的要长得多的网站(以 abode.com 为例)——我在 Zend 网站上的加载量是我的两倍——它们在具有相同布局的页面之间甚至没有丝毫闪烁过渡。编辑:更好的 stackoverflow.com/users 加载超过我页面的 5 倍 - 每次点击链接时完全无缝。
      【解决方案4】:

      好的,我过早地接受了一个答案。导致此问题的原因实际上是 SWFObject!我在为新站点开发时注意到了这一点,并且它表现出相同的行为。我相信这只发生在版本 2+ 中,但对于其他任何在页面加载之间存在背景闪烁问题(而不是一次显示所有呈现的 HTML)并且碰巧在这些页面上调用了 swfobject 的人 - 删除它试一试。也可能只是你的问题。

      为了澄清,我在移植网站时已更新到更新版本的 SWFObject。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-21
        • 1970-01-01
        • 2012-09-03
        • 1970-01-01
        • 2014-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多