在ONUNLOAD事件中通知服务器(XMLHTTPREQUEST?)?
-
28-09-2019 - |
题
是否可以在客户端离开页面时通知服务器(使用一些数据进行单个HTTP请求,响应不重要)?
实际上,我使用JavaScript的Python-Tornado Comet应用程序不断地保持与服务器的请求连接(该请求在事件上关闭并重新打开。基于此: https://launchpad.net/eftw).
我没有找到一种简单的调试方法(尤其是使用火焰)。这使它变得非常有问题。
哦,以及实际的代码(由于它已经有些可用): http://bazaar.launchpad.net/~hoverhell/xftw/trunk/files
解决方案
你不能在 可靠的 方式,根据浏览器和延迟,您的XMLHTTPREQUEST可能会在实际完成之前被杀死。
浏览器制造商希望(正确,IMO正确)尽快渲染下一页。这 onbeforeunload
和 onunload
是要快速处理周围剩下的任何变量的清理事件,它们并不是要等待的...因此浏览器不会。由于新浏览器中的垃圾收集也有了显着改善,因此浏览器的等待这些活动的理由更少。
您可以在 window.onbeforeunload
事件...但是它会到达服务器吗?也许。
不隶属于 StackOverflow