由于javascript函数调用,可能导致网页速度变慢

时间:2010-11-05 16:23:22

标签: php javascript mysql

这是我正在制作http://shout.agilityhoster.com/login.html

项目的链接

使用

登录
  

用户名:rafa

     

密码:nadal

现在,如果我使用其他用户登录

  

用户名:ana

     密码:伊万诺维奇

然后网站似乎运行速度非常慢。多个定时的javascript函数调用可以吗?它在我的电脑上使用xampp完美运行..

由于

5 个答案:

答案 0 :(得分:2)

  • 你有多个地方,你应该只有一个;
  • 您正在使用内联javascript代码,您只需使用jquery;
  • 你正在使用body onLoad你应该使用jquery dom;
  • 你正在使用多个ajax POST,你应该只有一个并使用json;
  

您的第一个帐户可能比浏览器缓存的第二个原因更快,请注意本地内容总是比在线服务器更快,具体取决于它的速度和带宽。

希望这个帮助

我想帮助你;)

你有这个:

$("#one").css("visibility","visible");
$("#onein").css("visibility","visible");
$("#closeaa").css("visibility","visible");
$("#onein").css("visibility","visible");
$("#Layer22").css("visibility","visible");

应该是:

$(".ClassTheeseAll").css("visibility","visible");

或至少:

$("#Layer22,#onein,#Layer22,#closeaa").css("visibility","visible");

你有

<body onLoad="javascript:window.setInterval('open()', 1000000);checkrow();javascript:window.setInterval('check_newmsg()', 1000000)"> 

应该是

$(function() {
 setInterval('initAllMyStuff()', 1000000);
});

function initAllMyStuff() {
 open();
 checkrow();
 check_newmsg();
}

function getmsgs()
{
$.post("getmsg.php",{'name':name_one},function(data){$("#one").html(data);} );
$.post("getmsg.php",{'name':name_two},function(data){$("#two").html(data);} );
$.post("getmsg.php",{'name':name_three},function(data){$("#three").html(data);} );
}

应该是:

$.post("getmsg.php", { 'name_one' : name_one , 'name_two' : name_two , 'name_three' : name_three } , function(data) { /* loop json and store where needed */ }); 

然后你有:

function open(){
jQuery(window).bind("beforeunload", function(){$.post("logout.php");})
$.post("online.php",function(data){
$("#Layer6").html(data);
});

卸载应该只是:

$(window).unload(function() {
$.post("logout.php");
});

继续......

答案 1 :(得分:0)

您是否尝试使用Firebug观看网络流量?这将告诉您每个网络请求需要多长时间以及何时发生。

答案 2 :(得分:0)

与Curtis的回答一样,您需要使用firebug和yslow [https://addons.mozilla.org/en-US/firefox/addon/5369/]来分析页面。如果您发现正在等待图像等,则可以使用jquery的ready方法替换onLoad调用: http://api.jquery.com/ready/

即使其他页面项目加载速度不快,也可能会产生对性能的感知。

答案 3 :(得分:0)

你在这个页面上每秒有3-5个ajax请求,有时因为这个原因,它可能会迟缓。 像Curtis指出的那样尝试在firebug中使用Network面板。

答案 4 :(得分:0)

除了可怕的Javascript之外,请注意,即使对于初始登录页面,对网站的请求也非常慢(例如,登录页面从这里开始加载大约需要10秒钟。)

此外,我在某个时候从网站收到此错误:

Web Server: Too many connections!

检查服务器端代码是否存在性能问题。确保您的MySQL查询具有高性能。确保服务器本身配置正确...当然,如果您使用共享主机,则无法控制此操作,如果您正在免费托管,则只需使用可怕的慢速网站。