2014-12-17 3 views
0

Я пытаюсь решить проблему проверки, изменился ли сеанс в angularJS.AngularJs Проверка изменений состояния сеанса

У меня есть несколько приложений, работающих на разных вкладках браузера, которые используют один и тот же сеанс. Если пользователь слишком долго неактивен на одной вкладке приложения, я хочу отобразить для них возможность продлить сеанс или выйти из системы.

Однако пользователь может не видеть это приглашение, так как он может быть занят другим приложением на другой вкладке, которая разделяет сеанс с приложением на первой вкладке. Вывод пользователя из приложения на первой вкладке (тот, на котором был включен пользователь) выведет их из приложения второй вкладки (которую активно использует пользователь), так как обе вкладки (хотя разные приложения) делят той же сессии.

Как проверить файл cookie сеанса, чтобы увидеть, изменилось ли оно на любой вкладке?

+1

Самым простым решением является, вероятно, таймер регулярно проверять сеанс в каждом приложении – sam

ответ

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> 
Смежные вопросы