微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐