2012-04-19 12 views
3

プロジェクトでjQueryフォームプラグイン(jquery.form.js)を使用しています。 Chrome/FFでは正常に動作しますが、IE8/9ではuploadProgressコールバックが呼び出されません。公式Webサイトhttp://jquery.malsup.com/form/progress.htmlのデモでさえ、IE8/9のアップロードの進行状況は更新されません。何かヒント?ありがとう。jQueryフォームプラグイン:IE8/IE9でuploadProgressが呼び出されない

答えて

8

源から:

if (options.uploadProgress) { 
     // workaround because jqXHR does not expose upload property 
     s.xhr = function() { 
      var xhr = jQuery.ajaxSettings.xhr(); 
      if (xhr.upload) { 
       xhr.upload.onprogress = function(event) { 
        var percent = 0; 
        var position = event.loaded || event.position; /*event.position is deprecated*/ 
        var total = event.total; 
        if (event.lengthComputable) { 
         percent = Math.ceil(position/total * 100); 
        } 
        options.uploadProgress(event, position, total, percent); 
       }; 
      } 
      return xhr; 
     }; 
    } 

これはIE8/9でサポートされていないHTML5機能を使用する:

>> "upload" in new XMLHttpRequest 
false 
関連する問題