我有一个网页,使用jQuery和javaScript,我想知道是否以及何时将页面置于睡眠状态。由于许多任务都是后台进程,因此如果页面上没有任何内容发生,我需要让它们进入休眠状态。即用户正在另一个屏幕上工作或不在他的电脑上完全停止
答案 0 :(得分:2)
最简单的方法是根据用户与页面的交互设置在多个事件上重置的计时器。一个非常基本的例子是:
var timeout;
var awake = true;
function resetTimer ()
{
awake = true;
window.clearTimeout(timeout);
timeout = window.setTimeout(function ()
{
awake = false;
}, 36000); // Set the timer for 5 minutes
}
document.documentElement.onfocus = document.documentElement.onmouseover = function ()
{
if (!awake)
runRequests(); // Replace any stale data
resetTimer();
}
在对数据的请求中,您将检查awake
变量的状态,如果它为false,则返回该函数。当用户再次与页面交互时,将刷新必要的数据并再次将awake
变量设置为true。
答案 1 :(得分:0)
也许超时功能可行。它必须定期检查是否发生了任何你关心的事件,因此决定是否将页面“置于睡眠状态”。