AJAX - 当用户离开页面时 - 实践/实施的好坏?

时间:2009-10-25 03:43:28

标签: javascript html ajax onunload

我之前刚刚阅读how to check users leave a page,当用户离开页面将分析数据发送回服务器时突然想到执行AJAX。

onunload事件上执行AJAX是一个好的还是坏的练习/实现?

3 个答案:

答案 0 :(得分:4)

在卸载时执行AJAX调用在所有情况下都不能很好地工作。通常,Web浏览器几乎立即关闭面板,AJAX调用可能会丢失。

如果您想发送分析数据,我建议您在关闭页面的提前中发送它们。例如,在5秒后发送,10秒,20秒等。使用唯一标识符查找最新信息。根据您需要的精确测量精度,间隔取决于您,而不是为用户增加额外带宽而烦恼: - )

答案 1 :(得分:1)

要获得任何可靠的数据形式,您需要暂停操作直到ajax帖子通过 - 页面通常会在此之前终止。

在所有现实中,没有办法检测用户离开页面的每一种方式,onunload,如果它不够快,将被中断。

答案 2 :(得分:0)

我认为你最终会处于竞争状态

如果你产生另一个线程,那么执行AJAX调用的人将被销毁并且页面将被卸载(因为页面正在等待此线程完成)

无论如何,在我看来,应该不惜一切代价避免卸载事件!除非事情在过去几年发生了变化......我告诉自己永远不要再这样做了:P

祝你好运