首頁 > web前端 > js教程 > 如何使用 JavaScript 在瀏覽器中偵測文件下載何時完成?

如何使用 JavaScript 在瀏覽器中偵測文件下載何時完成?

Susan Sarandon
發布: 2024-12-19 11:50:11
原創
300 人瀏覽過

How Can I Detect When a File Download is Complete in a Browser Using JavaScript?

在瀏覽器中確定檔案下載完成

在此查詢中,使用者要求一個解決方案來決定檔案下載何時在瀏覽器中完成。這些知識使他們能夠刪除文件生成時顯示的“等待”指示器。

最初的方法涉及使用 POST 請求向伺服器提交隱藏表單並針對結果的隱藏 iframe。但是,在檔案中設定「Content-Disposition:附件」標頭(通常會提示瀏覽器顯示「儲存」對話方塊)不會在 iframe 中觸發所需的「載入」事件。

或者,使用多部分回應透過傳送空白 HTML 檔案和可下載檔案來部分解決了 Firefox 中的問題。但由於瀏覽器不一致,在 Internet Explorer 和 Safari 中失敗。

客戶端JavaScript 解決方案

更可靠的解決方案在於在客戶端使用JavaScript:

  1. 產生一個唯一的令牌並將其與下載請求一起提交。
  2. 顯示「等待」指示器。
  3. 輪詢伺服器是否存在包含令牌的 cookie。
  4. 找到 cookie 後,隱藏「等待」指示器。

伺服器端實作

伺服器將檢查唯一令牌的請求如果存在,則刪除對應的 cookie。

範例程式碼

JavaScript(客戶端):

[提供JavaScript 程式碼]

PHP(伺服器端):

[PHP程式碼提供]

此方法有效地防止多次提交嘗試,並確保僅在下載開始時刪除「等待」指示器。

以上是如何使用 JavaScript 在瀏覽器中偵測文件下載何時完成?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板