나는 사이트에서 왜 내가 일하고 있는지, 그 점을 찾으라는 질문을하고 싶습니다. 느립니다. 문제의Chrome과 IE에서 ajaxing이 Mozilla보다 훨씬 느린 이유는 무엇입니까?
조건 :
- 큰 행 수는 (. 그래서 문제가이 관련되어 어쩌면 생각)
- 이벤트를 ajaxing있다 (나는 그것을 주석 피곤 가지고 문제 하지 모질라 (이 동결 효과를 사용하여
- 는 IE와 크롬) 문제의
설명 (이미지 참조)에 나타납니다) 사라 :
- 는 I 입력 값을 변경
- 은 약 30 밀리 달리 FF 걸린하여 Ajax (상을 계산하기 위해) 호출과 이 후 이상 1의 동결까지가
- 아약스 완료 (그러나 아약스는 비동기로 설정되지 않은 : false)를 해당 후
- 내가
내가 오류를 재현 피곤이 다음 입력을 변경할 수 있습니다,하지만 난 could't. 에 사진/fotokidolgozas/elohivas-beallitasok.php
로그 및 통과 :
사이트 : 그래서 원래의 사이트를 참조 [email protected]
업데이트 : 그것은 지금 작동 괜찮아요, 트릭은 다음과 같습니다 :
나는 숨겨진 입력 필드를 사용합니다. 그 값은 json_encode-d 문자열입니다. js로 언제든지 처리 할 수 있습니다.
어떤 도움 주셔서 감사합니다!
번호 :
$('#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() });
});
질문에 관련 코드를 게시하십시오. –
필자의 시스템에는 FF14b, IE9, Chrome19의 차이점이 없습니다. 요청 실행 시간 (DevTools의 네트워크 탭에서) 및 시각적으로 - 모두 동일합니다. –
나는 Ajax와 함께 Comet을 사용하여 스크립트 중 하나에서 동일한 문제를 겪고있다. 하나는 Chrome 에이전트가 멈추고 다른 하나는 (기본값) 그렇지 않다. –