我正在开发一个使用许多脚本的项目(Google Maps,jQuery,jQuery插件,jQuery UI ......)。有些页面有近350 kB的Javascript。
我们关注性能,我问自己,整合这些重脚本的最佳方式是什么。
我们有两个解决方案:
我想得到你的建议。
感谢。
答案 0 :(得分:2)
为了获得最佳性能,我将创建一个静态缩小的javascript文件(使用YUI压缩器之类的工具)并从头部引用它。有关网站效果的详细提示,请查看googles website optimizations页面。
请注意,检索所有javascript文件的性能损失只发生在第一页,因为浏览器将在后续页面上使用该文件的缓存版本。
为了获得更好的响应能力,您可以将javascript分成两个文件。在页面加载时加载第一个包含所需的所有javascript,然后在页面加载后在后台加载第二个文件。
如果您有兴趣,我有一个开源AJAX javascript framework,可以简化压缩并将所有html,css和javascript(包括第三方库)连接到一个javascript文件中。
答案 1 :(得分:1)
如果您认为某些用户可能永远不会需要Google Maps JavaScript,请将其包含在相关网页中。否则,将它们全部放在头部 - 它们将很快被缓存(来自Google's CDN的那些可能已被缓存)。
答案 2 :(得分:0)
<head>
标记中的脚本(我认为)会阻止页面进一步渲染,直到完成下载,因此您可能希望将页面移动到<body>
标记的末尾。
它实际上不会使任何内容加载得更快,但它应该会使您的页面内容在某些情况下显得更快,因此它应该感觉更快。
我还会询问你是否真的有350 KB的JavaScript下载。当然这些库是gzip压缩的吗?小型化和压缩时jQuery 1.4是19 KB。
答案 3 :(得分:0)
1)我建议在一个文件中收集所有常用脚本和最重要的jquery等,以减少对此文件的请求数量并压缩它,我会建议谷歌关闭你会发现它here
2)在页面中加载,用户必须在登录页面的开头打开它,并将脚本放在页面的末尾,让所有内容首先呈现,这是推荐的大多数性能工具,如yslow和页面速度
3)不要在页面中编写脚本,尝试在文件中写入所有内容,以便以后更容易进行压缩和加密
4)将脚本和所有静态文件(如图像和css)放在其他域上以分离服务器上的加载