编程语言
首页 > 编程语言> > javascript-jQuery $.ajax扩展XDomainRequest进行中

javascript-jQuery $.ajax扩展XDomainRequest进行中

作者:互联网

简短版本:

我想让thisthis一起使用:

长版:

我想创建一个jQuery扩展,该扩展将一个progress方法添加到$.ajax对象,并且可以与IE8& IE9的XDomainRequest对象.

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

但是,XDomainRequest还提供了一个onprogress事件.我基本上需要XDomainRequest的包装器.例如. progressEvent.length将与xdr.responseText.length相对应.

对于从何处开始的任何建议,我将不胜感激.

解决方法:

好吧,我解决了这个问题.我最终分叉了ajaxHooks,它通过ajax传输器实现了XDomainRequest.

我添加了对名为“ progress”的onprogress事件回调的支持,可以使用原始ajax对象定义该回调.

根据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 fork.

标签:xdomainrequest,javascript,jquery
来源: https://codeday.me/bug/20191031/1979435.html