【发布时间】:2018-07-20 11:10:22
【问题描述】:
$scope.stay = function() {
alert("Inside Keep me In")
$scope.timed = false;
$scope.isLogStatus = true;
}
$scope.displayAlert = function() {
$scope.timed = true;
alert("inside display")
}
function idleTimer() {
var t;
$window.onmousemove = resetTimer; // catches mouse movements
$window.onmousedown = resetTimer; // catches mouse movements
$window.onclick = resetTimer; // catches mouse clicks
$window.onscroll = resetTimer;
//window.reload=$scope.stay(); // catches scrolling
// window.onkeypress = resetTimer; //catches keyboard actions
function logout() {
//Adapt to actual logout script
$scope.displayAlert();
alert('insinde logout');
// delete $window.localStorage.user;
// location.href="/";
}
function reload() {
$window.location = self.location.href; //Reloads the current page
}
function resetTimer() {
alert("timer reset")
clearTimeout(t);
// t = setTimeout(logout, 600000); // time is in milliseconds (1000 is 1 second)
$timeout(function() {
alert("timout triggered");
$scope.displayAlert();
}, 9000); // time is in milliseconds (1000 is 1 second)
}
}
idleTimer();
我使用上面的html,如果我保留,默认情况下
$scope.timed=true;
它正在工作 当我点击登录时,我正在做
$scope.timed=false;
如果时间超过 10 分钟,我会再次这样做
$scope.timed=true;
(不触发 ng-show) 然后显示不工作
这是控制器正在发生的事情
$scope.stay = function() {
alert("Inside Keep me In")
$scope.timed = false;
$scope.isLogStatus = true;
}
$scope.displayAlert = function() {
$scope.timed = true;
alert("inside display")
}
function idleTimer() {
var t;
window.onmousemove = resetTimer; // catches mouse movements
window.onmousedown = resetTimer; // catches mouse movements
window.onclick = resetTimer; // catches mouse clicks
window.onscroll = resetTimer;
//window.reload=$scope.stay(); // catches scrolling
// window.onkeypress = resetTimer; //catches keyboard actions
function logout() {
//Adapt to actual logout script
$scope.displayAlert();
alert('insinde logout');
// delete $window.localStorage.user;
// location.href="/";
}
function reload() {
window.location = self.location.href; //Reloads the current page
}
function resetTimer() {
// alert("timer reset")
clearTimeout(t);
// t = setTimeout(logout, 600000); // time is in milliseconds (1000 is 1 second)
t = setTimeout(logout, 9000); // time is in milliseconds (1000 is 1 second)
}
}
idleTimer();
// Get the topbar menu
$scope.menu = Menus.getMenu('topbar');
【问题讨论】:
-
请添加调用切换
timed的代码 -
好的,我已经添加了,请检查。 @NikhilAggarwal
-
尝试使用
$timeout而不是setTimeout -
实际上超时工作,警报也正在显示,但 scope.timed 没有显示@AlekseySolovey
标签: html css angularjs mean-stack