Я думаю, вам не нужно переходить на Websockets
или Pusher
, вам просто нужна простая функция setInterval
для отображения времени окончания сеанса.И вы получите время сеанса из файла session.php
в папке конфигурации 'lifetime' => 120,
, здесь 120 - минуты.
var sessionOutTimeInSeconds = 120 *60;
setInterval(function(){
sessionOutTimeInMinutes -= 1;
}, 1000);
var sessionOutTimeInMinutes = 2;// here your can set 120
var sessionOutTimeInSeconds = sessionOutTimeInMinutes * 60;
var timeStr = 'Expire in 120 Minutes';
var alertBefore = 1;
var intervalId = setInterval(function(){
sessionOutTimeInSeconds -= 1;
sessionOutTimeInMinutes = parseInt(sessionOutTimeInSeconds/60);
timeStr = '';
// **here you can do any stuff when you got session out. may be you can redirect go to home page to go to login page.**
if(sessionOutTimeInSeconds > 0 ){
if(sessionOutTimeInMinutes >= alertBefore){
timeStr = '<span style="color:green;">';
}else{
timeStr = '<span style="color:red;">';
}
timeStr += 'Expire in '+ sessionOutTimeInMinutes + ' Minutes ' + (sessionOutTimeInSeconds%60) + ' Seconds';
}else{
//alert('Session Expired.');
//clearInterval(intervalId);
timeStr = '<span style="color:red;">';
timeStr += 'Session Expired '+ (-1)*sessionOutTimeInMinutes + ' Minutes ' + (-1)*(sessionOutTimeInSeconds%60) + ' Seconds ago.';
}
timeStr += '</span>';
document.querySelector('#sessionout').innerHTML = timeStr;
}, 1000);
<div id="sessionout"></div>