javascript - jQuery $.ajax 扩展 XDomainRequest onprogress

标签 javascript jquery xdomainrequest

简短版:

我想得到 thisthis一起工作:

长版:

我想创建一个 jQuery 扩展,它向 $.ajax 对象添加一个进度方法,并与 IE8 和 IE9 的 XDomainRequest 对象一起工作。

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

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

对于从哪里开始的任何建议,我将不胜感激。

最佳答案

好吧,我解决了这个问题。我最终 fork 了 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在这里。

关于javascript - jQuery $.ajax 扩展 XDomainRequest onprogress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12275128/

相关文章:

javascript - 如何在 JavaScript 中将 Unix 时间戳转换为 ISO 8601?

javascript - 关于 jQuery 中的parent()和prev()的非常基本的问题

javascript - 链接基于 jQuery 的 Ajax 请求的结果。each 仅在 beforeSend 之前触发一次

javascript - IE8/IE9 中的跨域 header

javascript - LinqJs - 使用非重复计数进行分组

javascript - jade 中无法解释的 "<"和双输出包括

javascript - 如何将网络摄像头捕获的图像路径存储在mysql数据库中

javascript - 模拟*同步* XDomainRequest (XDR) 请求的任何方式

javascript - 跨源请求被阻止

javascript - 如何添加选择按钮来上传 .sql 文件