【问题标题】:AJAX - when user leaves page - good or bad practice/implementation?AJAX - 当用户离开页面时 - 好还是坏的做法/实施?
【发布时间】:2010-05-10 01:46:05
【问题描述】:

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

onunload 事件执行 AJAX 是好还是坏的做法/实现?

【问题讨论】:

    标签: javascript html ajax onunload


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      实际上,没有办法检测用户离开页面的每一种方式,onunload 如果速度不够快,就会被中断。

      【讨论】:

        【解决方案3】:

        我认为你最终会陷入竞争状态

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

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

        祝你好运

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-03
          • 1970-01-01
          • 2016-11-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多