这是我的代码:
setTimeout(expireAndRedirect(), 200000)
它应该在200秒后调用函数expireAndRedirect
它只有在与上面写入函数的页面相同时才有效。但我希望它能在申请标签上发挥作用
无论您在哪个页面上,有没有办法让JavaScript在200秒后运行一个线程?
答案 0 :(得分:0)
使用html5本地存储来保存页面之间的状态,并在每次页面加载时检查它。例如:
设定:
localStorage.expireAndRedirectAfter = Date.now() + 200000;
setTimeout(function() {
expireAndRedirect();
localStorage.expireAndRedirectAfter = null;
}, 200000);
检查每页加载的状态:
if (localStorage.expireAndRedirectAfter) {
if (localStorage.expireAndRedirectAfter > Date.now()) {
expireAndRedirect();
} else {
setTimeout(function() {
expireAndRedirect();
localStorage.expireAndRedirectAfter = null;
}, localStorage.expireAndRedirectAfter - Date.now());
}
}
此解决方案仅适用于同一域中的所有网页。
答案 1 :(得分:0)
在登录期间设置一个包含当前日期时间的cookie ..
接下来在每个页面上的javascript加载检查时间差异并相应地设置到期时间。