jQuery的$就扩展XDomainRequest onprogress(jQuery $.ajax

2019-09-22 04:03发布

简短的版本:

我想这与工作这个 :

长的版本:

我想创建一个jQuery的扩展,增加了一个进步的方法到$阿贾克斯对象,并与IE8和IE9的XDomainRequest对象的工作。

目前,使用上述插件,我只能定义进度的事件回调处理程序的XMLHttpRequest对象。

然而,XDomainRequest还提供了一个onprogress事件。 基本上,我需要为XDomainRequest的包装。 例如。 progressEvent.length将对应于xdr.responseText.length。

我会很感激在哪里开始的任何建议。

Answer 1:

好吧,我工作了这一点。 我结束了分叉ajaxHooks其通过Ajax转运实现XDomainRequest。

我添加名为可与原来的Ajax对象定义“进步”的onprogress事件回调的支持。

按照W3C的标准,progressEvent.lengthComputable = false,因为我们不能得到内容的长度,所以progressEvent.total = 0;

见下面例子:

$(document).ready(function(){

    var download_url = YOUR_URL;

    $.ajax({

        url: download_url,
        cache: false,
        progress: function(jqXHR, progressEvent) {

            console.log(progressEvent.loaded);

        }
    })
});

见我ajaxHooks叉这里。



文章来源: jQuery $.ajax extension XDomainRequest onprogress