2012-06-14 13 views
5

私は、サイトがなぜ働いているのかが遅いという点を見つけて欲しいと思います。MozillaよりChromeやIEでajaxingがはるかに遅くなる可能性はありますか?

問題の条件:

  • 大行数(私は多分問題はこれに関連していると思います。)
  • ajaxingイベント(私はそれをコメントアウトして疲れていて、問題があります

    :Mozillaの(このフリーズ効果はIEとChromeで表示されます)問題の

説明を(画像を参照)を使用していない)

  • を消滅210
    • さもなければ以上1秒
    • 凍結まである(賞金を計算するために)、AJAX呼び出しがあった後、私は、入力
    • の値を変更し、それがFFで約30ミリ秒を要しますアヤックスが終了(ただし、AJAXは非同期に設定されていない:false)を
    • それは私が次の入力

    を変更することができた後にのみ、私は、エラーを再現することが疲れていたが、私はcould't。で写真/ fotokidolgozas/elohivas-beallitasok.php

    ログインして渡します:

    サイト:だから、元のサイトを参照してください[email protected]

    更新:それは機能するようになりましたその秘訣は以下の通りです:

    私は非表示の入力フィールドを使用します。その値はjson_encode-d文字列です。私はいつでもjsで処理することができます。

    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

    自分のシステムでFF14b、IE9、Chrome19の違いはありません。要求の実行時間(DevToolsのネットワークタブから)と視覚的に - すべて等しい。 –

    +0

    私は、AjaxでCometを使用してスクリプトの1つで同じ問題を抱えています.1つのChromeエージェントがフリーズしていて、もう1つはフリーズしていません。 @AndrewD。 –

    答えて

    1

    問題は、隠しデータ(see my other question)大きすぎ、それは処理時間を減少させたということでした。 (Firefoxはうまくコーディングされているようだが、これは問題ではないので)

    これで問題は解決しました。

    関連する問題