0

当客户端离开页面时,是否可以通知服务器(发出带有一点数据的单个 HTTP 请求,响应不重要)?

我实际上正在使用带有 javascript 的 python-tornado comet 应用程序不断保持与服务器的请求连接(它会在事件中关闭并重新打开。基于此:https ://launchpad.net/eftw )。

我没有找到一种简单的方法来调试它(特别是使用 FireBug)。这使得它很成问题。

哦,还有实际的代码(因为它已经有点可用了):http ://bazaar.launchpad.net/~hoverhell/xftw/trunk/files

4

1 回答 1

4

您无法以可靠的方式执行此操作,具体取决于浏览器和延迟,您的 XmlHttpRequest 可能在它实际完成之前被杀死。

浏览器制造商希望(正确地,imo)尽快呈现下一页。onbeforeunload和是清理事件,onunload旨在快速处理遗留的任何变量,它们不应该被等待......所以浏览器不会。由于较新的浏览器中的垃圾收集也得到了显着改进,浏览器等待这些事件的理由就更少了。

您可以在事件中发送请求window.onbeforeunload......但它会到达服务器吗?也许。

于 2010-08-14T09:49:43.413 回答