当客户端离开页面时,是否可以通知服务器(使用一些数据发出单个HTTP请求,响应不重要)?
我实际上正在使用python-tornado彗星应用程序,javascript不断保持与服务器的请求连接(关闭并在事件上重新打开。基于此:https://launchpad.net/eftw)。
我没有找到一种简单的方法来调试它(特别是使用FireBug)。这使它很成问题。
哦,还有实际的代码(因为它已经有点可用了):http://bazaar.launchpad.net/~hoverhell/xftw/trunk/files
答案 0 :(得分:4)
您不能以可靠的方式执行此操作,具体取决于浏览器和延迟,您的XmlHttpRequest可能会在实际完成之前被终止。
浏览器制造商希望(正确地,imo)尽快呈现下一页。 onbeforeunload
和onunload
是清理事件,旨在快速处理剩下的任何变量,它们并不意味着等待...所以浏览器不会。由于较新浏览器中的垃圾收集也有显着改善,因此浏览器更不用说等待这些事件。
您可以在window.onbeforeunload
事件中发送请求...但是它会到达服务器吗?也许