他のすべての回答は、プレースホルダーの画像またはテキストを表示するか、それを偽造するだけであるため、次のように行うことができます (説明のみで、コードはありません - しかし、唯一の難しい部分は、実際にどれだけの作業が行われたかを判断することです)。
経由して呼び出した php スクリプトを編集して、$.ajax
完了した作業のパーセンテージを計算します。これを行う方法は、スクリプトの好みに大きく依存するため、非常に簡単です (たとえば、それぞれがほぼ同じ時間かかる処理対象の配列) または非常に困難 (たとえば、ほとんどの時間がライブラリまたは組み込み関数への 1 回の繰り返しのない呼び出しに費やされる場合)。このパーセンテージをセッション変数に保存します。
$_SESSION["PERCENTAGE_DONE"] = $my_calculated_percentage;
明らかに、この変数をできるだけ頻繁に更新したいと考えています。
ここで、この値を出力するだけの別の php スクリプトを作成します (この例ではプレーンテキストで十分ですが、json や xml、またはその他の好きな形式を使用することもできます)。
//initialize session, set headers etc. before this
echo $_SESSION["PERCENTAGE_DONE"]
JavaScript部分については、ajaxを介して新しいphpスクリプトを呼び出し、戻り値を読み取り、進行状況バーを描画/更新する別の関数を作成します(描画部分については、JustinJohnsの回答を出発点として使用できます)。$.ajax
ここで、メインコールを実行した後、この関数を使用setTimeout
して、タスクが完了するまで繰り返しサーバーにクエリを実行します。