2012-06-14 7 views
5

मैं आपको बिंदु खोजने के लिए कहूंगा, साइट पर क्यों काम कर रहा हूं- धीमा है।यह कैसे संभव है, मोज़िला की तुलना में क्रोम और आईई में AJAXing धीमा है?

समस्या की शर्तों:

  • बड़े पंक्ति संख्या (। तो मैं शायद लगता है कि समस्या यह से संबंधित है)
  • है घटना ajaxing (मैं इसे बाहर टिप्पणी करने के लिए थक गया है और समस्या गायब हो गया)
  • नहीं मोज़िला (इस फ्रीज प्रभाव का उपयोग IE और क्रोम) समस्या का

विवरण (छवि देखें) में दिखाई देते हैं:

  • मैं इनपुट का मूल्य बदल
  • के बाद वहाँ एक ajax कॉल (क्रम पुरस्कार की गणना करने के) और इसके बारे में 30 एमएस अन्यथा एफएफ में लेता है 1 से अधिक रों
  • वहाँ एक फ्रीज जब तक है ajax समाप्त हो गया है (लेकिन ajax async पर सेट नहीं है: गलत)
  • केवल उस के बाद मैं अगले इनपुट

मैं त्रुटि पुन: पेश करने थक राशि बदल सकते हैं, लेकिन मैं could't। में फोटो/fotokidolgozas/elohivas-beallitasok.php

प्रवेश करें और पारित:

साइट: तो मूल साइट देखें [email protected]

अद्यतन: अब काम करता है ठीक है, चाल निम्नलिखित है:

मैं छिपे हुए इनपुट फ़ील्ड्स का उपयोग करता हूं, उनके मान json_encode-d तार हैं। मैं उन्हें किसी भी समय जेएस के साथ संसाधित कर सकता हूं।

enter image description here

किसी भी मदद के लिए धन्यवाद!

कोड:

$('#cikkek,#magic_bar').on("change","select,textarea,input[type!=hidden]",function(event_object){ 
    if($(this).attr('name') == "kijelolve" && !$(this).parents('#magic_bar').length)return true; 

    var cikk_id = $(this).parents('.cikk').attr('id'); 
    var cikk_tipus = $("input[name=cikk_tipus]").val(); 
    var tulajdonsag = $(this).attr('name');  
    var ertek = $(this).val(); 
    if(ertek == "-1")return false;  
    if($(this).is('[type=checkbox]'))ertek = $(this).prop("checked")?'1':'0'; 

    if(cikk_tipus=='fotokidolgozas' && (tulajdonsag=='meret'||tulajdonsag=='vagas')) 
     { 
      var sor = $(event_object.target).parents('.cikk'); 
      var act_meret = sor.find('select[name=meret]').val(); 
      var act_fill = sor.find('select[name=vagas]').val(); 
      var act_zold_class = sor.find("input[name=zold_"+act_meret+"]").val()=="1" ?"zold":"feher" ; 
      var name = "src_"+act_meret+"_"+act_fill;     
      var name2 = "szoveges_uzenet_"+act_meret+"_"+act_fill;     
      sor.find(".img_cont").find("img").attr("src",sor.find("input[name="+name+"]").val()); 
      sor.find(".szoveges_uzenet").text(sor.find("input[name="+name2+"]").val()); 
      sor.find(".dpi_megfelel").text(sor.find("input[name=minoseg_"+act_meret+"]").val()+" ("+sor.find("input[name=dpi_"+act_meret+"]").val()+" dpi)"); 
      sor.find("select[name=meret]").removeClass("feher zold").addClass(act_zold_class); 
     } 

    var before = now(); 

    //this is the ajax part 
    if(ajax_modositaskor) 
    $.post('/_fn/cikk/mod.php',{ 
     'cikk_tipus':cikk_tipus, 
     'cikk_id':cikk_id, 
     'tulajdonsag':tulajdonsag, 
     'ertek':ertek 
     },function(a){ 
      var elapsed = now() - before; 
      if(a[0]!="1") 
      { 
       //error 
       alert(a[0]); 
       return; 
      } 
      if(a[1]!="-1") 
      { 
       //there is new price 
       $(event_object.target).parents('.cikk').find('.ar').text(a[1]);  
      } 
      if(a[2]!="-1")$('#cikkek_ara').text(a[2]); 
      osszegzest_frissit(a[3]);    
      var php_time = Math.round(a[4]) 
      a_min = Math.min(a_min,elapsed); 
      p_min = Math.min(p_min,parseFloat(php_time)); 
      a_max = Math.max(a_max,elapsed); 
      p_max = Math.max(p_max,parseFloat(php_time)); 
      if(!a_avg)a_avg = elapsed;else a_avg= Math.round((a_avg+elapsed)/2); 
      if(!p_avg)p_avg = php_time;else p_avg = Math.round((p_avg+php_time)/2);    
      trace("ajax="+elapsed+"\tphp="+php_time+"\tajax_min="+a_min+"\tphp_min="+p_min+"\tajax_max="+a_max+" \tphp_max="+p_max+"\tajax_avg="+a_avg+" \tphp_avg="+p_avg);     

     },"json").error(function() { postHiba() }); 


}); 
+2

प्रश्न में प्रासंगिक कोड पोस्ट करें। –

+0

मुझे अपने सिस्टम पर एफएफ 14 बी, आईई 9, क्रोम 1 के बीच अंतर नहीं है। अनुरोध का निष्पादन समय (DevTools में नेटवर्क टैब से) और दृष्टि से - सभी बराबर है। –

+0

मेरे पास एक स्क्रिप्ट के साथ एक ही समस्या है, अमेक्स के साथ धूमकेतु का उपयोग करके: एक क्रोम एजेंट ठंडा हो रहा है, और दूसरा (बॉक्स के बाहर) नहीं है। –

उत्तर

1

समस्या यह है कि छिपा डेटा बहुत बड़ा है (see my other question) था, और यह प्रसंस्करण समय की कमी हुई। (फ़ायरफ़ॉक्स अच्छी तरह से कोडित प्रतीत होता है, क्योंकि यह mattered नहीं है)

अब समस्या ठीक हो गई है।

संबंधित मुद्दे