2010-11-24 9 views
-1

私はウェブサイトを構築しようとしています。特定の時間に、毎日、たとえば午後6時に、スケジュールされたタスクが実行されます。どのように私のサイトを見ているユーザーを「一時停止」し、「タスクの開始」、「タスクの実行」などのjquery UIのプログレスバーの形で実行されているスケジュールされたタスクの進行状況を表示する必要があります"タスクの終了" ...ウェブサイト構築のヘルプ

+0

ステータスをまったく伝える方法がわからない、またはアニメ化されたjQueryの部分を作成する方法が問題ですか? – deceze

+0

@deceze:I "モーダル"フォームのようなユーザーを "一時停止"することでステータスを伝える方法を知る必要があります。つまり、背景が暗くなり、進行状況がユーザーに表示されます。すでに進捗バーを作成しています。 – Kut

+0

だからあなたの具体的な質問は、バックグラウンドタスクのステータスを把握する方法ですか?またはモーダルダイアログをスローする方法は? – deceze

答えて

0

私はスケジューリングのタスクのためにあなたのアプリケーションでスケジュールに行くのではなく、Windowsサービスのために行くと感じる。このようにすれば、簡単に管理できます。ホストされているWebサイトをフリーズすることなく、ユーザーのためにステータスをポーリングすることもできます。

チェックこれはあなたのイベントが正確な時間で行わ知っていれば、それは非常に簡単です、あなた

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

+0

私はWindowsのスケジューラーを使用しています。私は2番目の部分を必要とします – Kut

+0

@Kut - 記事があなたが望む情報を与えることを確認してください –

0

のに役立ちます。それ以外の場合は、定期的にサーバーをポーリングして、タスクが実行中かどうかを確認する必要があります。

正確な時刻に発生したことがわかっている場合は、(クライアント側のクロックに頼ることができない)サーバー側のスクリプト言語からサーバー時刻を含む変数をJavaScriptに渡します。

次に、次回タスクが実行されるまでの時間を計算し、setTimeout()を使用して、Webコンテンツを隠し、jQuery UIのプログレスバーをオーバーレイする機能をトリガーします。

最後に、サーバーへのポーリングを頻繁に行い、タスクの進行状況を確認し、必要に応じて進行状況バーを更新します。

私がぎこちなく細部に入るなら、私の答えは少なくともいくつかの質問に及ぶと思いますので、幅広い概要が役立つことを願っています。 「スパン少なくともいくつかの質問」とは、

補遺

、私はあなたの質問は本当に複数の質問に分割する必要があることを意味します。 1)タスクが発生したときにWebサイトのユーザーを「一時停止」する方法、2)オーバーレイでWebサイトのコンテンツを隠す方法、3)jQuery UIの進行状況バーウィジェットを使用する方法コンテンツをobsureする方法については

...あなたがモバイルクライアントを心配する必要がない場合(つまり、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"); 

次に、オーバーレイの上にプログレスバーウィジェットを配置します。

+0

あなたの答えはOKです。.. COULD u pls bもう少し精巧です。私の仕事は:「開始」、「実行中」、「終了」です。私はすでに進行状況バーを設計しています。また、これらのタスクは進行状況バーに表示する必要があります。 – Kut

+0

特にコンテンツを不明瞭にする方法と「少なくとも少数の質問にまたがる」方法 – Kut

関連する問題