我知道我可以使用connection_aborted()来明确检查浏览器是否关闭,但我必须检查离散点,并且浏览器可能会在我的检查之间关闭。在PHP中检测浏览器关机
是否有例外或我可以捕捉到的东西(我找不到)。我有一些流程可能会运行很长时间,如果有人关闭浏览器,从而中止流程,我只想记录发生了这样的事情。
我知道我可以使用connection_aborted()来明确检查浏览器是否关闭,但我必须检查离散点,并且浏览器可能会在我的检查之间关闭。在PHP中检测浏览器关机
是否有例外或我可以捕捉到的东西(我找不到)。我有一些流程可能会运行很长时间,如果有人关闭浏览器,从而中止流程,我只想记录发生了这样的事情。
由于HTTP是无状态协议,因此无法确定浏览器是否关闭。检查连接终止是否告诉您(通常)用户在加载页面期间是否失去连接或中止。您只能使用JavaScript检查是否关闭浏览器客户端。
否。浏览器不必告诉服务器它即将关闭连接。你可以尝试用JavaScript来模拟它,但即使这样也不容易出错。
Web服务器知道中止脚本。我想我只想知道这一点,并知道该过程已经开始但没有完成,即使它是由浏览器关闭以外的其他问题引起的。 –
这是不可能的。通过'window.onunload',你可以让浏览器发送一个关于窗口被关闭的AJAX通知,但这将是一个完全独立的请求。除了connection_aborted()和window.unload之外,你无法做任何事情来捕获浏览器的关闭事件。 –
我曾经想过ignore-user-abort,但如果用户放弃了页面,我真的不需要该过程继续。我只想记录该进程中止。 –