网站建设帮助

时间:2010-11-24 06:11:20

标签: jquery jquery-ui

我正在尝试建立一个网站。在特定时间,每天,比如说下午6点,计划任务运行。我该怎么说,“暂停”正在查看我的网站的用户,并向他们展示正在执行的计划任务的进度,比如以jquery ui进度条的形式,如“任务启动”,“任务执行” ,“任务终止”......

2 个答案:

答案 0 :(得分:0)

我觉得调度任务是针对Windows服务而不是在应用程序中使用调度程序。通过这种方式,您可以轻松管理事物,还可以为您的用户轮询satus,而不会冻结您的托管网站。

检查这会对你有所帮助

Combine Web and Windows Services to Run Your ASP.NET Code at Scheduled Intervals

答案 1 :(得分:0)

如果您知道事件在确切的时间发生,那就容易多了。否则,您需要定期轮询服务器以查看所述任务是否正在运行。

但是如果你知道它发生在确切的时间,我会将包含服务器时间的服务器端脚本语言的变量传递给JavaScript(因为你不能依赖客户端时钟)。 / p>

然后计算下次执行任务之前的时间量,并使用setTimeout()触发一个隐藏网站内容并覆盖jQuery UI进度条的函数。

最后,您开始经常轮询到服务器以检查任务的进度,并根据需要更新进度条。

我认为如果我要深入了解细节,我的回答至少会涉及几个问题,所以我希望广泛的概述是有帮助的。

<强>附录

“跨越至少几个问题”,我的意思是你的问题应该真正分成多个问题。 1)如何在任务发生时“暂停”网站上的用户,2)如何使用叠加层模糊网站的内容,以及3)如何使用jQuery UI进度条小部件。

关于如何隐藏内容...如果您不需要担心移动客户端(即不支持position: fixed的客户端),您只需要执行以下操作:

$('<div id="overlay" style="position: fixed; top: 0; left: 0; height: 100%; width: 100%; background-color: #000;"></div>')
    .css("opacity", 0.5).appendTo("body");

然后,您将进度条小部件放置在叠加层顶部。