我运行一个基于PHP的登录页面,其中包含一个大的标题图形和一个div,其中包含常见的JavaScript共享按钮,如Twitter,Stumpleupon和Facebook。这些按钮正在减慢下面的加载过程。
所以我希望网站的重要部分首先出现,而不太重要的部分应该在最后加载。
如何存档? 谢谢 迈克尔
答案 0 :(得分:5)
最简单的方法是将所有JavaScript代码移到文档的底部。它可能需要一些修改(即使用DOM函数而不是document.write
)或重新定位,但会在这些小工具完全加载之前使网站可用。设置async
and defer
是一种优雅但又复杂的替代方案。
连接多个JavaScript文档也有帮助,尤其是对于并发连接数较少的旧浏览器。您还可以将图形(主要是图标/徽标等)与CSS sprites组合在一起。在最前沿,data:
URLs允许将图像嵌入到HTML文档的源代码中。在Yahoo Best Practices中了解有关这些技术的更多信息。
通过gzipping HTML和CSS文档可以获得额外的加速。 JavaScript文件也可以压缩,但缩小(例如使用YUI compressor)往往会获得更大的收益。您还应该为静态资源指定缓存指令。
在服务器端,你应该使用像APC这样的php字节码cacher。谷歌在PHP最佳实践方面有一些additional tips。
一般资源:
答案 1 :(得分:2)
很好的问题,而且比我写的更好的作者之一。事实上,雅虎提供这篇文章!工作人员一枪 - 这是关于这个主题的权威文件,很容易理解:
http://developer.yahoo.com/performance/rules.html
另一个答案建议将您的Javascript移到页面底部。这可能会有所帮助,但不会解决您的所有问题,也无助于您的图像加载。从Yahoo!的指南中,您可以为CSS spritesheet中包含的单个图像交换大量较小的图像,以减少HTTP请求开销,并确保为您的所有内容启用缓存。
你也可以(高级!)做一些聪明,棘手的事情,比如只把重要的东西放在文档中,然后让javascript(位于页面底部)使用AJAX动态加载“extras”初始加载完成。漂亮!
答案 2 :(得分:0)
像其他人一样说你需要放javascript at the bottom。也许headjs库让你的这个任务变得更容易了吗?