2011-05-25 52 views
0

我面临着一个性能问题,在IE中运行Ajax(我使用Ie8),问题是我的网站在ie中运行速度很慢,但它在Chrome中工作正常,我的意思是通过使用SLOW =>慢动作。我使用的div和表格和渲染HTML中使用JavaScript来div的,除了我使用AJAX调用5个不同的页面(处理)Ajax网站性能问题(IE)

function ReceiveServerData(rValue) 
    { 


     var x = GetHash(); 
     var feeds = JSON.parse(rValue); 
     var sb = new StringBuilderEx(); 
     var length = feeds.length; 
     for(var i=0; i<length-1; i++) 
      sb.append(News(feeds[i].Id, feeds[i].Title, feeds[i].Des, feeds[i].Icon, i)); 
     if(i == 0) 
      { 
       $('#News').html(""); 
       $('#head').html("<i><b><center>لا يوجد اي مقالات حاليا</center></b></i>"); 
       return; 
      } 

     $('#News').html(sb.toString()); 
     $('#Pages').html(""); 
     if(feeds[i].count == 1) 
     { 
      $('#head').html(""); 
      return; 
     } 
     for(var a = 1; a <= feeds[i].count; a++) 
     { 

     if('#'+a == x || a == x) 
      $('#Pages').append("<button id=b" + a + " class='bt2' type='button'><span class='yt-uix-button-content'>"+ a +" &nbsp;</span></button> "); 
      else 
       $('#Pages').append("<button id =" + a + " Onclick=javascript:ChangeHash(" + a + ") class='bt' type='button'>"+ a +"</button> "); 
     $('#head').html("<i><b><center>The page has been loaded.</center></b></i>"); 
    } 
     scroll(0,0); 
    } 
     function News(id, title, des, icon, i) 
    { 
     var type = ""; 
     if(i == 0) 
      type = "&p=big"; 
     return "<table style=width:100%;>" + 
     "<tr><td rowspan=2 style=width:10%;><img width=70 hieght=70 src="+ icon +">" + 
     "</td><td align=right style=width:90%;background:url(./Images/BabrBackground.gif)>" + 
     "&nbsp;<font size=3><a href=Read.aspx?id="+ id +">&nbsp; "+ title +"</a></font></td></tr><tr>"+ 
     "<td valign=top align=right>&nbsp;&nbsp;<i><font color=#5C5858>"+ des +"</font></i></td></tr></table>"; 
    } 

回答

1

IE的JavaScript引擎往往比Chrome浏览器运行速度较慢,而且从长相它的循环可能会让它工作得比它想象的更努力。 不知道你的项目或你想要完成的任何事情,为什么你不只是在服务器上呈现你的HTML并将其发回到客户端,而不是让所有的JavaScript为你构建HTML?

0

我会看看优化html代 - 你检查了jTemplates?

我目前使用jTemplates创建内容从Ajax返回的JSON数据插入到页面上的div - 尽管生成了大量的html内容,但我的性能没有问题 - 很大程度上我怀疑是因为jTemplates是高度优化的。