使用进度条异步加载耗时的脚本

时间:2010-08-09 00:06:26

标签: javascript ajax jquery

我正在加载一个动态应用程序(需要20-30秒),我正在尝试创建一个动态进度条,向用户显示在页面加载时动态完成了多少任务。

我通过将buffer设置为false并让我的脚本在进行调整函数来增加滚动条时输出一行JavaScript来实现这一点:

function progress(percent)
{
  $("#progressbar").progressbar({value: Math.round((percent*100))});
}

这是通过一个简单的函数调用来调用的,比如我的页面生成的progress(15)并实时发送到浏览器。有人在另一个帖子上建议我可以优化它 将进度条附加到.load()AJAX调用,但据我所知,只有在加载整个页面后才返回。有没有办法让我使用某种类型的异步调用来执行耗时的代码,并且仍然能够在执行时显示实时进度?

1 个答案:

答案 0 :(得分:0)

你需要像票务系统这样的东西。当客户端请求这个耗时的操作时,会给他们一个ticket-id。

现在他们可以轮询服务器以获取更新;这可以通过与实际处理请求的进程/脚本不同的进程/脚本来提供。如果您在问题中添加更多详细信息,我会更新此答案。