在瀏覽器中確定檔案下載完成
在此查詢中,使用者要求一個解決方案來決定檔案下載何時在瀏覽器中完成。這些知識使他們能夠刪除文件生成時顯示的“等待”指示器。
最初的方法涉及使用 POST 請求向伺服器提交隱藏表單並針對結果的隱藏 iframe。但是,在檔案中設定「Content-Disposition:附件」標頭(通常會提示瀏覽器顯示「儲存」對話方塊)不會在 iframe 中觸發所需的「載入」事件。
或者,使用多部分回應透過傳送空白 HTML 檔案和可下載檔案來部分解決了 Firefox 中的問題。但由於瀏覽器不一致,在 Internet Explorer 和 Safari 中失敗。
客戶端JavaScript 解決方案
更可靠的解決方案在於在客戶端使用JavaScript:
伺服器端實作
伺服器將檢查唯一令牌的請求如果存在,則刪除對應的 cookie。
範例程式碼
JavaScript(客戶端):
[提供JavaScript 程式碼]
PHP(伺服器端):
[PHP程式碼提供]
此方法有效地防止多次提交嘗試,並確保僅在下載開始時刪除「等待」指示器。
以上是如何使用 JavaScript 在瀏覽器中偵測文件下載何時完成?的詳細內容。更多資訊請關注PHP中文網其他相關文章!