一般问题JQ / PHP

时间:2011-07-20 08:40:20

标签: php jquery

打开和开始的速度更快:

拥有1个文件的所有jquery函数或

每个函数都是一个单独的文件,并在需要时调用它?

实施例。我有一个blabla.js文件,里面有4个函数。 我的xaxa.php调用了blabla.js。

现在,当我第一次打开我的页面时,它足够快。没问题(即使已经清除了cookie)

但......当我第一次(以及之后)点击一个激活我的blabla.js部分的按钮时,我的所有链接和功能都会打开/工作得更慢。

所以我应该将我的函数分开并将每个js文件加载到我需要它的地方,或者我的问题是在其他地方?

谢谢

(正如我所说,我开始怀疑我的结构中的某些东西) 所以这是我的jq示例:

$(document).ready(function(){
 $(".avoid_ref_add").click(function(){
  var keyValues = {
    pid : $(this).parent().find('input[name="pid"]').val()
    };
      $.post('help_scripts/cartfunct.php', keyValues, function(rsp){
        $('#content').load("p_body.php");
      });
 return false;
 });
function remove
function update
});

我有我的items.php items2.php items3.php ...

现在,我的COOKIES我已经清除了没有缓存...当我打开网站时,它加载速度快,所有链接都很快......

但如果我点击那个添加按钮,一切都开始工作真的很慢......

如果我只是刷新整个页面,它会再次开始快速运转,等等......

FOR ME很奇怪,我无法弄清楚我做错了什么...因为如果页面很慢,它从第一次开始就不会加载......正确吗?这是我的代码中的东西吗?

4 个答案:

答案 0 :(得分:2)

您应该将所有javascript最佳地放在一个javascript文件中。

此文件可以使用gzip压缩和远期到期标头来限制带宽使用(并导致更快的页面加载)。您甚至可以在javascript上运行最小化器以减小文件大小。

你真正要求的是最小化/优化的艺术,这篇文章读起来很好:http://developer.yahoo.com/performance/rules.html

答案 1 :(得分:0)

将所有JS函数保存在单个文件中显然更好,这应该更快。认为当需要调用不同的函数时,您希望避免命中对服务器插入的延迟

答案 2 :(得分:0)

执行速度不应受文件中分发函数的方式的影响。但是,当需要下载较少的文件时,下载与页面相关的所有资源会更快。这是因为每个HTTP请求都附带一个HTTP请求标头,每个HTTP响应都附带一个HTTP响应标头。如果不使用HTTP的保持活动功能,则为每个请求建立TCP连接会产生额外的开销。

答案 3 :(得分:0)

您不必将每个功能分开到单独的文件中。我建议将相互关联的函数保存在同一个JS文件中,并将其他函数放在另一个JS文件中。

这使您可以更轻松地管理代码并提高JS文件的可重用性/模块性。

之后,您可以在需要时使用 minify http://code.google.com/p/minify/组合必要的JS文件,从而减少检索JS文件的请求数。