在HTML中集成Javascript资源:最好的方法是什么?

时间:2010-02-17 10:29:37

标签: javascript performance

我正在开发一个使用许多脚本的项目(Google Maps,jQuery,jQuery插件,jQuery UI ......)。有些页面有近350 kB的Javascript。

我们关注性能,我问自己,整合这些重脚本的最佳方式是什么。

我们有两个解决方案:

  • 包括头部中的所有脚本,即使它们未在页面上使用。
  • 在头部包含一些常用脚本,并在需要时包含特定于页面的脚本。

我想得到你的建议。

感谢。

4 个答案:

答案 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)放在其他域上以分离服务器上的加载