私のプロジェクトでは、Excelファイルを作成し、それをダウンロードするユーザーを提供しています
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
コード。$(location).attr('href','###'); によってファイル生成コードをトリガーしています。JS のコードなので、ファイル エクスポート ページが呼び出され、生成後にファイル ダウンロード ウィンドウが表示されます。進行中の作業を表示するために、$(location) を呼び出す前にエクスポート ボタンがクリックされたときにローダー ウィンドウを表示し、このウィンドウを閉じるために Jquery cookie ライブラリを使用しました (実際にファイルの生成が完了してダウンロード ウィンドウが表示されるタイミングを確認するため)。
Url この手法は私の問題を解決し、進行状況がいつ完了してローダー ウィンドウが削除されたかを確認できます。
ここで、ファイルの完成の進行状況も表示したいと思います。すなわち。私のExcelファイルは約500行で生成されます。生成に時間がかかるため、100行を書き込んだ後に25%、200行を書き込んだ後に50%のようにCookieに進行状況を書き込もうとし、JSコードでそのCookie値を確認しようとしました
fileProgress = window.setInterval(function () {
var cookieValue = $.cookie('fileProgressToken');
alert(cookieValue)
}, 1000);
ページの進行が完了した後(つまり、すべてのファイル生成プロセスが完了したとき)にphpがCookie値を設定し、値を100に設定し、1秒後に進行状況を確認できないことがわかりました。
これを達成するために私は何をすべきですか、それは可能ですか、それとも簡単な代替方法ですか