WP是否在显示页面之前完成了服务器端页面的呈现?

时间:2012-06-29 09:23:11

标签: performance wordpress rendering fouc

我的项目的静态html页面具有javascript动态修改的内容,并导致FOUC(无格式内容的闪烁)。因此,我默认情况下使内容不可见,并在DOM准备好之后将显示切换为可见。

静态html页面在我的本地驱动器上呈现得非常快,因此隐形和可见状态之间的时间差距并不明显。

但是,在将项目与WordPress集成并放到远程服务器上之后,页面渲染变得有点慢,因此时间间隔变得更加明显。

当我点击超链接请求查看页面时,我希望WordPress在服务器端完成页面的重新排序,然后向我显示页面。等待1或2秒是可以的。 WP能做到吗?

2 个答案:

答案 0 :(得分:1)

我猜想问题是你的CSS没有立即通过网络加载,因此有一段时间你的HTML被渲染,但你的CSS还没有加载。

(它也可能是动态的Javascript内容 - 如果不了解有关Wordpress安装和配置的更多内容,我无法说出来)

预加载CSS不是Wordpress可以自己做的事情,虽然您应该注意到在第一次加载页面后,浏览器会缓存您的CSS并且速度更快。

如果您真的关注它,请查看一些优化技术,例如使用快速CDN作为CSS等静态内容。例如,Yahoo! performance tips非常适合所有网站性能问题。

答案 1 :(得分:1)

在浏览器解析整个HTML之后,DOM Ready会触发。这不仅仅是基本的HTML文件,它还需要加载,解析和执行它遇到的所有css和javascript,因为它会在它触发事件之前通过HTML(在WP的情况下是通常很多)。

如果不是快速托管(如果将它放在共享主机帐户上,基本上只是乞求它变慢),WP也会非常慢地生成HTML本身。像W3TC或supercache这样的页面缓存插件将有助于HTML的生成,但我的打赌是你还有更多的前端活动。“

获取“高性能网站”的副本,然后对WebPagetest这样的页面进行一些测试,这将让您看到外部资源(并捕获页面加载的视频)。对于任何前端工程师而言,本书对于了解前端性能问题并进行详细介绍非常重要。