Когда ваша веб-страница может пойти спать - PullRequest
1 голос
/ 14 января 2010

У меня есть веб-страница, использующая jQuery и javaScript, и я хотел бы выяснить, когда и когда перевести страницу в спящий режим. Поскольку ряд задач являются фоновыми процессами, мне нужно перевести их в спящий режим, если на странице ничего не происходит. т. е. пользователь работает на другом экране или не на своем компьютере, полная остановка

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Самый простой способ - установить таймер, который сбрасывается на несколько событий в зависимости от взаимодействия пользователя со страницей. Очень простой пример:

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 и, если она ложна, возвращались из функции. При повторном взаимодействии пользователя со страницей необходимые данные будут обновлены, а для переменной awake снова будет установлено значение true.

0 голосов
/ 14 января 2010

Возможно, сработает функция тайм-аута. Он должен будет периодически проверять, произошли ли какие-либо события, которые вас волнуют, и решать, следует ли перевести страницу в «спящий режим».

...