我知道我可以使用connection_aborted()來明確檢查瀏覽器是否關閉,但我必須檢查離散點,並且瀏覽器可能會在我的檢查之間關閉。在PHP中檢測瀏覽器關機
是否有例外或我可以捕捉到的東西(我找不到)。我有一些流程可能會運行很長時間,如果有人關閉瀏覽器,從而中止流程,我只想記錄發生了這樣的事情。
我知道我可以使用connection_aborted()來明確檢查瀏覽器是否關閉,但我必須檢查離散點,並且瀏覽器可能會在我的檢查之間關閉。在PHP中檢測瀏覽器關機
是否有例外或我可以捕捉到的東西(我找不到)。我有一些流程可能會運行很長時間,如果有人關閉瀏覽器,從而中止流程,我只想記錄發生了這樣的事情。
由於HTTP是無狀態協議,因此無法確定瀏覽器是否關閉。檢查連接終止是否告訴您(通常)用戶在加載頁面期間是否失去連接或中止。您只能使用JavaScript檢查是否關閉瀏覽器客戶端。
否。瀏覽器不必告訴服務器它即將關閉連接。你可以嘗試用JavaScript來模擬它,但即使這樣也不容易出錯。
Web服務器知道中止腳本。我想我只想知道這一點,並知道該過程已經開始但沒有完成,即使它是由瀏覽器關閉以外的其他問題引起的。 –
這是不可能的。通過'window.onunload',你可以讓瀏覽器發送一個關於窗口被關閉的AJAX通知,但這將是一個完全獨立的請求。除了connection_aborted()和window.unload之外,你無法做任何事情來捕獲瀏覽器的關閉事件。 –
我曾經想過ignore-user-abort,但如果用戶放棄了頁面,我真的不需要該過程繼續。我只想記錄該進程中止。 –