2012-07-22 23 views
0

我是Jquery的新成员,并且付了一些钱为我开发了一个脚本。我注意到,当我将这个脚本添加到我的网站时,我的带宽从1mb跳到5mb。我有很多用户,所以让我相信Jquery部分很快就会让人耳目一新。我的问题是我需要改变什么,所以它会停止在下面的脚本中使用这么多的带宽。PHP jquery时间带宽

谢谢!

<script> 

current_time = 1342987067; 
start_at = 1342986987; 
waiting_time = 120; 
break_time = 9999; 
view_1 = 'Text removed for example<br>'; 
view_2 = 'Text removed for example<b><span id="countdown-value"></span></b> seconds.<br>'; 
view_3 = 'Text removed for example... currently in progress...<br>'; 
winner = "Text removed for example"; 

function changeView() { 
    if (start_at + waiting_time > current_time) { 
     if (break_time < waiting_time) { 
      return view_1 + "\n" + winner; 
     } else { 
      return view_2 + "\n" + winner; 
     } 
    } else { 
     return view_3 + "\n" + winner; 
    } 
} 

function setView() { 
    $("#countdown-holder")[0].innerHTML = changeView(); 
} 

function reload() { 
    current_time ++; 
    break_time = start_at + waiting_time - current_time; 
    setView(); 
    if (break_time <= waiting_time) { 
     if ($("#countdown-value")[0] != null) 
      $("#countdown-value")[0].innerHTML = break_time; 
    } else { 
     if ($("#countdown-value")[0] != null) 
      $("#countdown-value")[0].innerHTML = break_time - waiting_time; 
    } 
    setTimeout("reload()", 1000); 
} 
setTimeout("reload()", 1000); 
setView(); 

</script> 
<script> 

function setBreakTimeCountdown() { 

    breakTimeCountdown = parseInt($("#countdown-value")[0].innerHTML); 

    breakTimeCountdown --; 

    if (breakTimeCountdown < 0) { 

     breakTimeCountdown = 0; 

     reload(); 

    } 

    $("#countdown-value")[0].innerHTML = breakTimeCountdown; 

    setTimeout("setBreakTimeCountdown()", 1000); 

} 

setTimeout("setBreakTimeCountdown()", 1000); 

</script> 
+1

您是否删除了可能需要带宽的部分?代码中没有网络I/O。 – Esailija 2012-07-22 20:08:09

+0

它看起来并不像在那里,甚至会导致页面刷新。 – Norguard 2012-07-22 20:08:18

回答

0

脚本似乎没有什么可以叫回你的网站,所以我猜它加载的jQuery本身的问题?

最简单的解决方案是使用Google Libraries API。向下滚动并获取jQuery链接,并将其替换为本地jQuery。它将使用Google的带宽。

+0

我会尽力的! – 2012-07-22 20:09:46

1

这段javascript中的任何调用都不会直接触发任何请求。

但是,如果任何变量view_1view_2view_3,并winner都包含有对他们的其他媒体资源,这可能会引发更多的请求到服务器,这会增加带宽利用率引用HTML。

+0

设置'.innerHTML'不会加载或执行脚本虽然 – Esailija 2012-07-22 20:10:15

+0

好点,忘记了这一点,从答案中删除。 – ctcherry 2012-07-22 20:33:10