我已经在我的项目页面的header.php中存储了javascript文件。随着时间的推移,这已经增长到很多文件。需要一个高级成员的帮助,谁可以指导我如何存储这些?我找遍了网络也没找到关于这个的任何东西。所以这是我的最后一站。这些是否应该存储在header.php中(所以我所做的是正确的?)。是否应该将它们单独存储在使用它们的.php页面上?还是有其他更好、更有效的方法来做到这一点?(我也有一些原型和脚本文件)
<script type="text/javascript" src="javascript/prototype.js"></script>
<script type="text/javascript" src="javascript/scriptaculous.js"></script>
<script src="javascript/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
<script type="text/javascript" src="javascript/jquery.colorbox.js"></script>
<script type="text/javascript" src="javascript/friends.js"></script>
<script type="text/javascript" src="javascript/site.js"></script>
<script type="text/javascript" src="javascript/search.js"></script>
<script type="text/javascript" src="javascript/settings.js"></script>
<script type="text/javascript" src="javascript/inbox.js"></script>
<script type="text/javascript" src="javascript/profile.js"></script>
<script type="text/javascript" src="javascript/color_picker.js"></script>
<script type="text/javascript" src="javascript/load_more.js"></script>
<script type='text/javascript' src='javascript/jquery.bgiframe.min.js'></script>
<script type='text/javascript' src='javascript/jquery.Queue.js'></script>
<script type='text/javascript' src='javascript/jquery.autocomplete.js'></script>发布于 2011-07-26 17:40:41
你在这里加载了15个脚本,包括3个库!这完全是大材小用,会减慢你的页面速度。你永远不应该有两个以上的Javascript文件:每个额外的文件都会产生一个额外的HTTP请求,这是导致页面变慢的首要原因。
至少,您应该将所有文件合并为一个文件。您可以使用Google's Closure Compiler来完成此操作,这也将最小化代码。
然而,你更大的问题是你同时使用3个不同的库。我猜你在互联网上找到了一些不错的脚本,比如lightboxes,但每个脚本都使用不同的库。你当然可以将你的代码分成3个文件,每个库和它们的插件(即所有的jQuery内容在一个文件中,脚本在另一个文件中),并且每个页面只调用其中的一个。
然而,我建议从头开始,选择一个库,然后找到那个库的插件。jQuery是最受欢迎的,你可能会找到与之相当的插件。将所有这些合并到一个Javascript文件中,并将其包含在每个页面上。这样,用户只需要下载一个文件,该文件将被缓存以供以后的请求使用。
发布于 2011-07-26 12:31:57
Javascript模块化确实是一件棘手的事情。
我个人使用Dojo toolkit中的模块处理特性,但也有像RequireJS这样的独立模块系统可以做到这一点。(我不知道在JQuery-land中的“传统”解决方案是什么)
如果您不想或不能使用这些模块处理库中的任何一个,您将需要手动构建所有内容,因此对于每个功能,您将需要在需要使用它的每个页面上包含它的脚本标记(如果有依赖关系,请按照正确的顺序)。
如果加载所有脚本的时间太长,您可以考虑做一些与性能相关的事情:
<body>的末尾,而不是<head>。这样,浏览器至少可以在停止加载脚本之前先呈现页面的其余部分。发布于 2011-07-26 14:36:37
首先,在给定的页面上,只加载需要的那些js文件。
其次,如果你有太多的js文件,最好的办法是使用RequireJS。
https://stackoverflow.com/questions/6825173
复制相似问题