2011-05-25 51 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是高度優化的。