我有一个很长的JavaScript函数并执行许多任务,我想通过使用消息更新SPAN元素的内容来向用户报告进度.我尝试在整个功能代码中添加document.getElementById('spnProgress').innerText = ...语句.
但是,当函数执行时,UI将不会更新,因此您只能看到写入SPAN的最后一条消息,这不是很有用.
我目前的解决方案是将任务分解为多个函数,在每个函数结束时我设置SPAN消息,然后使用window.setTimeout调用以非常短的延迟(比如10ms)"触发"下一个函数.这产生控制并允许浏览器在开始下一步之前用更新的消息重新绘制SPAN.
但是我觉得这很乱,很难遵循代码,我认为必须有更好的方法.有没有人有什么建议?有没有办法强制SPAN重绘而不必离开函数的上下文?
谢谢
我知道如何使用Python提取zip存档,但我究竟如何以百分比显示该提取的进度?
假设我有一个更新,例如:
  UPDATE [db1].[sc1].[tb1] 
  SET c1 = LEFT(c1, LEN(c1)-1) 
  WHERE c1 like '%:'
如果c1列中有一个,这个更新基本上会经历数百万行并修剪冒号.
如何跟踪表格的进展情况?
谢谢
这是sql server 2008
我的应用程序从互联网上获取一些HTML代码,完成后,将其显示在设备屏幕上.由于这需要大约3-4秒,因此在这段时间屏幕保持黑色,我想使用进度对话框.这是我的代码:
package com.nextlogic.golfnews;
// ALL THE IMPORTS ....
public class Activity1 extends Activity {
    private ProgressDialog progressDialog;
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);
        progressDialog = ProgressDialog.show(Activity1.this, "", "Loading...");
        new Thread() 
        {
          public void run() 
          {
             try
               {
                sleep(2000);
          // HERE I'VE PUT ALL THE FUNCTIONS THAT WORK FOR ME
 }
    catch (Exception e)
    {
        Log.e("tag",e.getMessage());
    }
// dismiss the progressdialog   
  progressDialog.dismiss();
 }
}.start();
该程序有效但不再显示任何内容.我在logcat中有一个错误:
Only the original thread that created a view hierarchy can touch its views.
请你帮助我好吗 …
我正在使用PHP上传进度扩展来检索有关上传到我的网络系统的文件的信息.但是,对于大于2GB的文件,总字节数和剩余时间字段将作为负数返回.
已设置Apache以确保可以将大小高达3GB的文件上载到网站.我测试了这个并且它有效.然而,这纯粹是报告错误地回归.
我想知道这是否与PHP值的限制有关,以及可以采取哪些措施来解决它.我相信系统使用的是64位整数.如下所示:
echo "PHP_INT_MAX: " . PHP_INT_MAX;
// PHP_INT_MAX: 9223372036854775807
以下是有关进度条如何工作和安装的一些额外信息:http://www.ultramegatech.com/blog/2010/10/create-an-upload-progress-bar-with-php-and-jquery/
要获取信息,我只需调用扩展函数:
$status = uploadprogress_get_info($unique_form_id);
返回总字节数,剩余时间,当前字节数等,如下所示(总字节数为负):
array(11) { 
    ["upload_id"]=> string(32) "ec75a30c24177ec1579aea93b56224f2" 
    ["fieldname"]=> string(9) "comp_data" 
    ["filename"]=> string(15) "Size_2-09GB.zip"
    ["time_start"]=> string(10) "1325851749"
    ["time_last"]=> string(10) "1325851758"
    ["speed_average"]=> string(5) "93011"
    ["speed_last"]=> string(6) "112618"
    ["bytes_uploaded"]=> string(6) "837105" 
    ["bytes_total"]=> string(11) "-2048166056" 
    ["files_uploaded"]=> string(1) "1" 
    ["est_sec"]=> string(9) "-76260228" 
} 
更新(2012年1月6日):我还联系了此扩展程序的开发人员,看看他们是否可以分享任何见解.
更新(2012年1月9日):扩展程序的开发人员已回复指出有关此问题的现有票证:https://bugs.php.net/bug.php?id = 59918
更新(2012年1月16日):已设法摆脱扩展返回的负值.但是,与Windows在属性窗口中所说的相比,返回的数字远远低于实际的总字节数.
我正在使用Comparator实现来对大量对象进行排序.根据此集合中对象的类型,排序需要几毫秒到半分钟.有没有办法确定Comparatorwhile排序的进度?我想为用户想象一下这个.
Collections.sort(sorted, new Comparator<Object[]>() {
    public int compare(Object[] o1, Object[] o2) {
        /* do it... */
        return order;
    }
}
该集合可以包含简单的短String对象,Date对象或(最坏情况下)CLOB对象,这些对象需要在排序时获取数据.
import time
print 1
time.sleep(5)
我分别在IPython笔记本和普通脚本中运行上面的代码.
在IPython Notebook,它不会打印数字'1'直到time.sleep(5)完成,而在正常的脚本中,它首先打印出数字'1'然后进入time.sleep(5).那会发生什么?
这个例子只是为了说明我的问题:我print在代码的每个阶段打印出一些文本,这需要很长时间才能完成,这样我就可以知道程序的位置.我发现这在执行脚本时工作正常,但是IPython Notebook print经常滞后,当整个程序完成时,所有内容都会被打印出来.
有没有办法解决这个问题IPython Notebook?
由于 AVAssetDownloadURLSession、AVAssetDownloadDelegate for iOS 11 使用 makeAssetDownloadTask(...) 和 aggregateAssetDownloadTask(...) 方法,我正在下载离线视频。
一切正常,但我只想让用户尽可能准确地了解每次下载的进度。
为此,我使用:
- urlSession(_ session: URLSession, assetDownloadTask: AVAssetDownloadTask, didLoad timeRange: CMTimeRange, totalTimeRangesLoaded loadedTimeRanges: [NSValue], timeRangeExpectedToLoad: CMTimeRange)
- urlSession(_ session: URLSession, aggregateAssetDownloadTask: AVAggregateAssetDownloadTask, didLoad timeRange: CMTimeRange, totalTimeRangesLoaded loadedTimeRanges: [NSValue], timeRangeExpectedToLoad: CMTimeRange, for mediaSelection: AVMediaSelection)
使用这些方法,我可以分别计算视频和每个曲目(音频/字幕)的下载进度。所以我假设视频占下载量的 70%,对于曲目,它是 30% 除以曲目数量。我将每个项目的下载进度存储在一个临时字典中(乘以它们的比率),并添加每个下载进度以具有全局表示。
最后它工作正常,但并不像预期的那样顺利。例如,我花了 3 分钟来下载内容,但如果曲目的重量较轻,则进度会在 1 秒内从 70% 跳到 85%(如果我有 2 首曲目要下载),然后立即放慢速度。我想有一个全球性的进步。
我绝对对这个解决方案不满意,但我目前没有找到另一个解决方案。
你们中的一些人有什么想法/解决方案吗?
谢谢你们
我正在使用免费版的kendo UI web.我正在使用代码显示进度指示器:
kendo.ui.progress($('#loginform'), true);
这里$('#loginform')是div我想显示在进度指示器.我的印象是,进度指示器将被包含在div我提供给函数的中心内.但是,它似乎显示在整个页面上.我也尝试过:
kendo.ui.progress('#loginform', true);
和
kendo.ui.progress('loginform', true); (which caused an error).
我假设我对它的工作方式没有错,否则为什么函数会取名为a div.关于我做错了什么的任何想法?
据我所知,我正在做同样的事情.这是我的HTML:
<form class="form-signin" id="loginform">
    <h2 class="form-signin-heading" style="color:whitesmoke;">Please Sign In</h2>
        <input type="text" id="username" class="input-block-level" placeholder="Username" />
        <input type="password" id="password" class="input-block-level" placeholder="Password" />
    <label class="checkbox" style="color:whitesmoke;">
        <input type="checkbox" id="remember" value="remember-me" /> Remember me
    </label>
    <button type="button" id="login" class="btn btn-large btn-success">OK</button>
    <button type="button" id="cancel" class="btn btn-large btn-danger">Cancel</button>
</form>
对不起,我似乎无法弄清楚如何正确格式化它.我认为jsFiddle示例只是看起来居中,因为该选项卡是示例中的整个页面.
我尝试使用HttpClient4.3.3和上传文件时实现进度MultipartEntityBuilder
所以实际上我用以下代码执行一个post请求
HttpClientBuilder builder = HttpClientBuilder.create();
HttpClient httpClient = builder.build();
HttpPost httpPost = new HttpPost(uploadUrl);
MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
entityBuilder.addPart("filea", new FileBody(filea));
entityBuilder.addPart("fileb", new FileBody(fileb));
final HttpEntity entity = entityBuilder.build();
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
知道如何从上传中获得实际进展吗?我搜索了很多 - 但是这些例子是针对android的,而不是简单的java或旧版本,HttpClient并且对我不起作用......
progress ×10
java ×2
python ×2
android ×1
apache ×1
avfoundation ×1
comparator ×1
dialog ×1
download ×1
extract ×1
ios ×1
javascript ×1
kendo-ui ×1
offline ×1
php ×1
printing ×1
repaint ×1
sorting ×1
sql ×1
sql-server ×1
tracking ×1
upload ×1
ziparchive ×1