AngularJs检查会话状态更改

时间:2014-12-17 15:49:22

标签: angularjs session cookies

我正在尝试解决检查会话是否在angularJS中发生更改的问题。

我有多个应用程序在共享同一会话的浏览器的不同选项卡上运行。如果用户在应用程序的一个选项卡上空闲时间过长,我想显示一个选项,以便他们扩展会话或注销。

但是,用户可能看不到该提示,因为他们可能正忙于在另一个与第一个选项卡上的应用程序共享会话的选项卡上使用另一个应用程序。在第一个选项卡(用户空闲的)上从应用程序注销用户会将它们从第二个选项卡(用户正在使用)的应用程序中注销,因为两个选项卡(尽管不同的应用程序)正在共享同一会议。

如何检查会话cookie以查看它是否在任一选项卡上都已更改?

1 个答案:

答案 0 :(得分:0)

找到此解决方案:http://hackedbychinese.github.io/ng-idle/

尝试暂停。

var myVar;

function mySessionCheckFunction() {
    // cancel the timeout
    if(myVar) 
         myStopFunction();

    // restart the timeout, after 15 min of idle show a popup confirm box
    myVar = setTimeout(function(){ 
        var result =  window.confirm("Want to extend your session?"); 
        // result will be true or false
    }, 1000 * 60 * 15);
}

function myStopFunction() {
    clearTimeout(myVar); // clear the timeout
}

HTML:

<body onmousemove="mySessionCheckFunction()"> </body>