ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザでファイルのダウンロード完了を確実に検出するにはどうすればよいですか?
ファイルのダウンロード完了の検出を処理します
問題:
ブラウザがファイルを完全に受信したときの検出待機インジケータを表示する場合、動的に生成されたファイルのダウンロードが重要になります。現在、iframe の「load」イベントを使用しても、ブラウザの不一致によりこの問題に対処できません。
解決策 1: ブラウザベースのトークン検証
クライアント側 JavaScript解決策には以下が含まれます:
オンサーバー側のアルゴリズム:
コードスニペット(JavaScript):
function setFormToken() { var downloadToken = new Date().getTime(); document.getElementById("downloadToken").value = downloadToken; return downloadToken; }
コード スニペット (PHP):
// Set a cookie to unblock submit button when download begins. $TOKEN = "downloadToken"; $this->setCookieToken($TOKEN, $_GET[$TOKEN]);
解決策 2: サーバー ポーリング
あるいは、サーバー側のアプローチ
このメソッドは次のことを回避します。一時的なサーバー ファイルを作成します。ただし、待機期間中にクライアントとサーバーの通信が必要です。
長所と短所:
ブラウザ トークンを使用すると動的検出が可能になりますが、ブラウザの互換性の問題が発生する可能性があります。 。サーバーポーリングは信頼性が高くなりますが、時間がかかります。
以上がブラウザでファイルのダウンロード完了を確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。