【发布时间】:2011-07-26 14:54:55
【问题描述】:
我正在使用 XmlHttpRequests 将图像上传到服务器,我想向用户显示这些上传的进度。
不幸的是,对我的 onprogress-event 处理程序的调用之间的间隔太大。对于 500k 的图像,通常只调用一次或两次 onprogress。
这是我的代码:
/* This function is not called often enough */
function progress(e){
console.log('Uploading: ' + Math.round((e.loaded / e.total) * 100) + ' %');
}
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener('progress', progress, false);
xhr.send(data);
是否可以更改此行为,或者是否可以在浏览器实现中的某处对其进行硬编码?
【问题讨论】:
-
@mplungjan 我的问题是没有取得进展。我的问题是我的事件处理程序被调用的频率。我已经更新了我的问题以澄清。
-
@Oscar - 我意识到,但是我发布的帖子有很多不同方式的例子
-
我还没有测试过,但是有一个使用 PHP 上传进度模块的 jQuery 插件,它也可以显示进度。也许它有帮助:nixboxdesigns.com/demos/jquery-uploadprogress.php。我想它会变得有点复杂,但可能值得一试。
-
你在哪些浏览器中测试过这个?
标签: javascript ajax xmlhttprequest