ここでの問題は、ブラウザがステートレスであることです。1 つのページの HTML、CSS、および JavaScript は、別のページとは完全に別のコンテキストで読み込まれます。したがって、プロセスが引き続き実行されても、データが読み込まれなくなるため、ページにデータを返すことができなくなります。
ユーザーがページを変更した場合でも、UI が更新されるようにしたいようです。これは、Comet を使用することで可能になる可能性があります。
comet の仕組みは、ブラウザからサーバーへの HTTP リクエストを開くことです。次に、サーバーは、クライアントにプッシュバックする必要があるデータを取得するまで、その接続を開いたままにします。サーバーの準備が整うと、サーバーはクライアントに応答を送信します。
この手法は通常、何かが変更されたときに N 個のクライアントを新しいデータで更新するために使用されますが、これを使用して、特定の要求から応答を切り離すことができます。つまり、サーバーに対して行われた要求が応答を受信しないようにアプリケーションをセットアップできます。代わりに、サーバーはコメット接続を介して更新を渡します。
これにより、要求を行ってからページを変更したクライアントは、結果が計算された後でも UI の更新を受け取ることが保証されます。
主要なプラットフォームの多くが Comet をサポートしています。Java、PHP、.NET、node.js は、この手法をサポートしていると私が知っているものの 1 つです。
サポートを獲得している別の同様の手法は、WebSockets です。ただし、すべてのブラウザーがこの手法をサポートしているわけではありません。選択した特定のプラットフォームで Comet について調査することから始めます。より具体的な質問がある場合は、ここで質問できます。幸運を!