0

我在我的网站上使用 jquery 和一些普通的 javascript,有人告诉我,我最好在页面的结束正文标记处以最小化形式加载所有 javascript,而不是像现在那样在标题中加载.

我还被告知我应该将我所有的 JS 集中到一个文件中以减少请求数量,尽管我也被告知我的一些 javascript 将无法包含在这个大型文件中因为 FB 需要它(例如)。

所以现在我完全糊涂了。首先,1)我使用 jquery 和 jquery.ui,可以将它们集中到大型文件中并在最后加载吗?

2)我可以将当​​前出现在我的页面源中的所有内容都粘贴到这个文件中吗?

3) 我必须遗漏什么?

当你是一个学习者时,这一切都有点不知所措

如您所见,该网站位于http://www.traditionalirishgifts.c ​​om/ 我加载:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

以及一堆其他 javascripts

4

1 回答 1

0

正如评论所指出的,答案取决于许多变量。

您是否使用任何服务器端 Web 框架?任何物有所值的 Web 框架都会为您提供 javascript 和 css 连接的选项。通常,这些选项允许您定义您希望串联发生的确切方式。某些 js 文件会不经常更改,例如 jquery、jquery ui。而某些其他文件会经常更改,例如您自己的应用程序脚本。在决定连接什么时,可以考虑所有这些。

如果您可以分享您使用的服务器端技术和 Web 服务器,我可以帮助您找到具体的解决方案。

关于你的三个问题,都是关于管理你的依赖关系。如果您的应用程序脚本或“当前出现在我的页面源中被脚本标签包围的任何内容”依赖于 jQuery 或任何其他库,那么它们将需要在 jquery 或所述库之后包含。

依赖关系也可能存在于 DOM 中。如果您的脚本直接使用输出 html,document.write那么您将无法轻松移动它们。

我浏览了您链接到的网站主页的 html。该文件中的 js 代码可以移动到正文末尾之前,但您需要确保它们以相同的顺序出现。您包含的所有插件似乎都在初始化document.ready,只有在所有 html/js/css 被解析后才会发生。

您已经从 CDN 引用 jquery/jqueryui,因此不要将它们添加到连接文件中。

我没有注意到任何您无法连接的代码(由于使用 FB)。那就是说你可以问那个告诉你的人解释原因。

最后,您可以在YSlow (http://developer.yahoo.com/performance/rules.html)Google Page Speed (https://developers.google.com/speed/docs )上阅读有关优化前端加载时间的更多信息/最佳实践/rules_intro)

就个人而言,我建议您继续将所有内容移至正文结束之前。如果出现问题,请针对您收到的错误提出有关 SO 的问题。

于 2012-11-28T19:36:20.583 回答