AngularJS:浏览器关闭时自动触发注销

时间:2015-02-16 05:35:14

标签: javascript html angularjs session

我正在尝试在AngularJS中实现登录身份验证模块。现在我离开了实施注销。

注销:

我在SessionHistory表中更新登录,注销和会话信息主要是为了在特定时间不允许单个用户进行2次不同的会话。

因此,应该为以下内容触发更新注销信息的功能,

  1. 当用户从应用中退出时。
  2. 当用户空闲时(会话超时)。
  3. 浏览器关闭时。
  4. 我做的第一点,第二点,我将设法做(在stackoverflow中查找许多文章和问题)。

    但我不确定如何在浏览器关闭时自动触发注销功能在数据库中自动更新。我没有设法得到任何文章。请帮我解决一下这个。我也是AngularJS的新手

    提前致谢。

2 个答案:

答案 0 :(得分:2)

window.onbeforeunload = logmeout();

答案 1 :(得分:0)

您将需要检测浏览器/选项卡关闭 - $ window.onbeforeunload函数,然后删除(localstorage)服务,在angular.run中注册$ window.onbeforeunload,在示例下面:

angular.module('app', [])
  .controller('exitController', function($scope, $window) {
    $scope.onExit = function() {
     $localStorage.$reset();//it will delete all the data from localstorage.
    };

   $window.onbeforeunload =  $scope.onExit;
  });

请注意:即使打开了多个标签,也会注销。