Если я правильно понимаю ваш вопрос, вы можете проверить, если пользователь «на» странице и когда оставить его с помощью следующего кода:
$(document).ready(function(){
$([window, document]).focusin(function(){
//Your logic when the page gets active
}).focusout(function(){
//Your logic when the page gets inactive
});
});
Другое решение, может быть, немного больше «замысловатый» - проверять движения мыши (http://api.jquery.com/mousemove/#fn) каждые N секунд.
Если у вас есть проблемы кросс-просмотра, вы можете проверить этот ответ, который дает хорошее решение для Дифференц браузеров: https://stackoverflow.com/a/1060034/1720344
UPDATE
псевдокод для функции таймаута заключается в следующем:
setTimeout(function() {
// Do something after 2 seconds
}, 2000);
К вашим комментариям, я думаю, лучше всего «обойти» подфункцию, а не $(document).ready()
(я еще не делал этого раньше, тайм-аут document.ready
, но вы можете попробовать и посмотреть, что это будет;) - I b elieve, что эта функция просто вызываются после N секунд от document.ready
)
С таймаутом 2 секунды, вы можете сделать что-то подобное (но я не проверял):
$(document).ready(setTimeout(function(){
$([window, document]).focusin(function(){
//Your logic when the page gets active
}).focusout(function(){
//Your logic when the page gets inactive
});
}, 2000));
Я отформатировал кода, но вам не хватает ');' и '}' от конца. –
Вы не можете, но вы можете проверить, активно ли [окно] (http://stackoverflow.com/questions/1060008/is-there-a-way-to-detect-if-a-browser-window- это-не-настоящее-активный). – adeneo