事件在卸载之前

时间:2014-07-21 19:35:39

标签: javascript jquery reload onbeforeunload

我需要关闭与ajax的用户会话,当这关闭我的应用程序的导航或选项卡。为此我使用事件beforeunload,问题是当我用F5(cmr + r,ctrl + r)重新加载页面时导航打开警告诊断并且我不需要这个。< / p>

$(window).bind('beforeunload',function (e) {
   var message = 'Are you sure you want to leave?';
   return message;
 }

$(window).bind('unload', function () {
  var dataStatus = $('button[name="status"]').attr('data-status');
  if (dataStatus == 'online') {
    var req = $.ajax({
      url: 'mi-url',
      type: 'POST',
      async : true,
      data: {data: JSON.stringify({user_id: <?php echo $user->getId() ?>})},
      dataType: "JSON"
    });
  }
});

等待回复,谢谢。

1 个答案:

答案 0 :(得分:0)

您无法区分关闭标签和标签卸载/重新加载。相反,您的旧方法,您可以设置间隔5分钟或一些有意义的时间段,并向服务器发送有关会话的通知。