这是我的代码:
setTimeout(expireAndRedirect(), 200000)
它应该在 200 秒后调用函数 expireAndRedirect
。
仅当它位于编写上述函数的同一页面上时,它才有效。但我希望它能在应用程序标签上工作。
JavaScript 中有没有办法在 200 秒后运行一个线程,而不管您在哪个页面上?
最佳答案
使用 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());
}
}
只有当您的所有页面都在同一个域中时,此解决方案才有效。
关于javascript - 删除所有 cookie 并在一定时间间隔后重定向到 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25834502/