带有百分比的 Ajax 加载进度条
Ajax loading progress bar with percentage
我正在使用图像上传器。问题是图像上传器只向我显示一个 ajax 进度条图像,而没有任何百分比。
如何实现以下代码的百分比(与进度条相关)?
jQuery.itemForm.submitFormIfNotImageLoading = function(loadTime) {
if (jQuery.uploaderPreviewer.loadingImages()) {
if(loadingTime > $.itemForm.loadingTimeout) {
var settings = {
title: $.itemForm.messages.timeoutTitle,
message: $.itemForm.messages.timeoutMessage,
buttons: { 'OK': function() { $(this).dialog("close"); } }
};
$.globalFunctions.openDialog(settings);
}
else {
loadingTime += $.itemForm.checkingIntervalTime;
var progressBarValue = $("#progressbar").progressbar('value')
+ $.itemForm.progressBarInterval;
$("#progressbar").progressbar('value', progressBarValue);
var recursiveCall = "$.itemForm.submitFormIfNotImageLoading(" + loadingTime + ")";
setTimeout(recursiveCall, $.itemForm.checkingIntervalTime);
}
}
else {
submitForm();
}
};
function showImageLoadingMessage() {
var options = {
title: $.itemForm.messages.savingTitle,
message: $.itemForm.messages.savingMessage
};
$.globalFunctions.openDialog(options);
$("#progressbar").progressbar({
value: 0
});
var progressBarInterval = $.itemForm.checkingIntervalTime * 100 / $.itemForm.loadingTimeout;
if (progressBarInterval != Number.NaN) {
$.itemForm.progressBarInterval = Math.floor(progressBarInterval);
}
};
实际上,由于通信是没有持久连接的客户端-服务器,因此您无法在非HTML5浏览器中显示ajax的百分比。
您应该考虑(如果您想保持兼容性)使用一些应该可以很好地满足您的需求的 Flash 上传器(这是我发现的第一个)
您也可以使用持久连接方法,例如 COMET 或类似方法,但它无论如何都与旧浏览器几乎不兼容。
如果你是一个"开源"友好的人,我认为如果你使用HTML5进度条和一个没有进度的替代方案,对于浏览器不兼容的人来说,这更好(如果它是一个jQuery插件,无论如何你都会有你的大多数用户使用HTML5浏览器)
相关文章:
- 如何更改jquerymobile中默认的加载ajax加载程序gif
- 无法在 IE6 和 IE7 上加载 ajax
- 页面刷新后重新加载 ajax 检索到的数据
- 清理在加载 Ajax 内容时添加的 CSS
- jquery选项卡加载Ajax内容
- Grails:多个加载ajax调用,但只有一个打印到控制台
- 如何检测通过JSON数据引用的图像何时加载AJAX
- 加载ajax数据时出现jVectorMap问题
- JQuery在加载ajax时阻止链接工作
- 如何在不重新加载ajax的情况下在datatable上.draw()或添加行
- 替换超链接默认操作以加载 AJAX 请求
- 高图表不使用加载 ajax 的数组进行渲染
- 带有 OnClick 的 jQuery 链接标记 href 需要单击两次才能加载 AJAX
- 悬停两次以加载 ajax
- 获取加载 ajax 的文档信息
- 使用 Jquery 在 AJAX 内部加载 AJAX
- 为什么当页面加载 AJAX 时我的 URL 之间没有空格
- 在当前页面中加载一个新的谷歌地图,加载AJAX
- 当滚动达到 80% 时加载 ajax
- 图像滑块未加载 Ajax 请求