3

我在我的项目中使用 jQuery 表单插件(jquery.form.js)。它在 Chrome/FF 中运行良好,但在 IE8/9 中,uploadProgress 回调未调用。甚至官网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 回答