简短版本:
长版:
我想创建一个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 举报,一经查实,本站将立刻删除。