3

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

4

1 に答える 1

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 
于 2012-04-19T03:22:30.720 に答える