Javascript 当警报框出现时,我如何在10秒后刷新?
所以我一直在尝试自动注销,但在alertbox alertbox询问你是否想注销(如果你还没有离开网站,但正在浏览一些信息,不想注销时自动显示)10秒后,我找不到一种方法注销。基本上,我想让它自动注销,如果你不按下任何东西的alertbox后选择的时间,如10秒。 这是密码Javascript 当警报框出现时,我如何在10秒后刷新?,javascript,reactjs,Javascript,Reactjs,所以我一直在尝试自动注销,但在alertbox alertbox询问你是否想注销(如果你还没有离开网站,但正在浏览一些信息,不想注销时自动显示)10秒后,我找不到一种方法注销。基本上,我想让它自动注销,如果你不按下任何东西的alertbox后选择的时间,如10秒。 这是密码 var refresh_rate = 5; // <-- In seconds, change to your needs var reset_rate = 7; // <-- In seconds logs o
var refresh_rate = 5; // <-- In seconds, change to your needs
var reset_rate = 7; // <-- In seconds logs out after not pressing OK or cancel in automatic logout
var last_user_action = 0;
var has_focus = false;
var lost_focus_count = 0;
var focus_margin = 10; // If we lose focus more then the margin we want to refresh
function reset() {
last_user_action = 0;
console.log("Reset");
}
function windowHasFocus() {
has_focus = true;
}
function windowLostFocus() {
has_focus = false;
lost_focus_count++;
console.log(lost_focus_count + " <~ Lost Focus");
}
setInterval(function () {
last_user_action++;
refreshCheck();
}, 1000);
function refreshCheck() {
var focus = window.onfocus;
if ((last_user_action >= refresh_rate && !has_focus && document.readyState == "complete") || lost_focus_count > focus_margin) {
var answer = confirm("Session About To Timeout\n\n You will be automatically logged out.\n Confirm to remain logged in.")
if (answer){
refresh_rate = 10;
}
else{
window.location.reload(); // If this is called no reset is needed
reset(); // We want to reset just to make sure the location reload is not called.
}
}
}
我希望有人能帮我解决这个问题 如果你使用确认、警告或提示,你就无法识别那些90年代的遗迹。它们使主JavaScript线程大部分停止,现在有细微差别,这意味着你不能做其他任何事情
为此,您需要用显示消息的DOM元素替换确认,这不会阻止主JavaScript线程。打开警报/确认框会阻止事件循环,直到它返回,因此在此期间无法执行任何操作。非常感谢,现在我将尝试一些实际可行的方法!