2012-07-05 3 views
2

나는 이미지 업 로더로 작업 중입니다. 문제는 이미지 업 로더가 아약스 진행률 표시 줄 이미지 만 표시하지만 비율은 표시되지 않는다는 것입니다.백분율로 Ajax 로딩 진행률 표시 줄

진행률 표시 줄과 관련하여 아래 코드에 백분율을 어떻게 구현할 수 있습니까?

jQuery.itemForm.submitFormIfNotImageLoading = 기능으로 인해 통신이 클라이언트 - 서버 당신이 할 수없는 디스플레이 비율 을 가진 영구 연결 하지 않고 있다는 사실에 {

if (jQuery.uploaderPreviewer.loadingImages()) { 
     if(loadingTime > $.itemForm.loadingTimeout) { 
     var settings = { 
      title: $.itemForm.messages.timeoutTitle, 
      message: $.itemForm.messages.timeoutMessage, 
      buttons: { 'OK': function() { $(this).dialog("close"); } } 
     }; 
     $.globalFunctions.openDialog(settings); 
     } 
     else { 
     loadingTime += $.itemForm.checkingIntervalTime; 
     var progressBarValue = $("#progressbar").progressbar('value') 
          + $.itemForm.progressBarInterval; 
     $("#progressbar").progressbar('value', progressBarValue); 
     var recursiveCall = "$.itemForm.submitFormIfNotImageLoading(" + loadingTime + ")"; 
     setTimeout(recursiveCall, $.itemForm.checkingIntervalTime); 
     } 
    } 
    else { 
     submitForm(); 
    } 
}; 

function showImageLoadingMessage() { 

    var options = { 
     title: $.itemForm.messages.savingTitle, 
     message: $.itemForm.messages.savingMessage 
    }; 

    $.globalFunctions.openDialog(options); 

    $("#progressbar").progressbar({ 
     value: 0 
    }); 

    var progressBarInterval = $.itemForm.checkingIntervalTime * 100/$.itemForm.loadingTimeout; 
    if (progressBarInterval != Number.NaN) { 
     $.itemForm.progressBarInterval = Math.floor(progressBarInterval); 
    } 
}; 
+0

HTML5 솔루션이나 기존 학교 방법을 찾고 있습니까? – VAShhh

+0

나는 옛 학교 방법을 찾고있다. – techAddict82

답변

1

사실 (loadingTime) ajax는 이고 HTML5가 아닌 브라우저는입니다.

당신은 대안 지속적를 사용할 수 있습니다

(this 내가 발견 한 것을 처음으로) 당신의 필요를 위해 꽤 잘 작동합니다 일부 플래시 업 로더를 사용하는 (당신이 호환성을 유지하려는 경우) 당신이 고려해야 할 연결 방법은 COMET 또는 이와 유사하지만 어쨌든 구형 브라우저와 거의 호환되지 않습니다.

"오픈 소스"친한 사람이라면 호환되지 않는 브라우저를 사용하는 사람들을 위해 HTML5 진행률 표시 줄과 대안을 사용하면 더 좋을 것 같습니다. (jQuery 플러그인과 같은 것이면 어쨌든 HTML5 브라우저를 사용하는 대부분의 사용자)