myApp.run(function ($rootScope, $interval, $timeout, $state, $localStorage) {
load = function () {
cdreset(); // reset the countdown to 0
countdown(); // call the countdown function
$rootScope.stayLogin = function () {
cdreset(); // reset the countdown to 0
alert("Proceed functioncall");
window.NewTimerCalC = function () { alert('trisssssgered'); return false; };
NewTimerCalCProceed();
};
}
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams, $rootScope, $state, $location) {
NewTimerCalC();
});
}); // end of run block
function NewTimerCalC(){
var lastDigestRun = Date.now();
var s = lastDigestRun + 2 * 60 * 1000;
var idleCheck = setInterval(function () {
if (currentUrl != window.location.href) {
var now = Date.now();
var displaytime = now - lastDigestRun > 2 * 60 * 1000;
if (now - lastDigestRun > 1 * 60 * 1000) {
alert("run block interval alert");
//clearTimeout(timeclear);
load();
}
}
}, 60 * 1000);
}
// button click for staylogin.
function NewTimerCalCProceed() {
window.NewTimerCalC = function () { alert('trisssssgered'); return false; };
var lastDigestRun = Date.now();
var s = lastDigestRun + 2 * 60 * 1000;
var idleCheck = setInterval(function () {
if (currentUrl != window.location.href) {
var now = Date.now();
var displaytime = now - lastDigestRun > 2 * 60 * 1000;
if (now - lastDigestRun > 1 * 60 * 1000) {
alert("Proceed block interval alert");
load();
}
}
}, 60 * 1000);
}
当用户登录应用程序时,我已将注销时间设置为2分钟。 在1分钟之前,倒计时有60秒倒计时。 当它达到0秒时,重定向到登录页面。
在计数器之间60到1秒,如果他点击继续,则需要再为当前用户分配2分钟。
按预期工作。
用户第一次登录应用程序,用户获得2分钟的注销时间。 在1分钟之前,他得到一个警告框和倒计时。 有一个继续按钮。当用户点击继续按钮时,他又得到了2分钟。 在1分钟之前,他收到一条警告信息。如预期的那样。
问题。第一次正常工作时,单击“继续”时会出现问题。
倒计时正在运行,倒计时达到几秒钟,例如30秒,另一个间隔进程正在运行,并将时间重新分配为60秒。 如果用户没有点击任何内容,倒计时会一次又一次地重新分配。它没有达到0秒。
这里倒计时达到35个secons,由于多个间隔而再次分配到60秒。