2010-01-14 4 views
1

jQuery와 javaScript를 사용하여 웹 페이지를 만들었으며 페이지를 잠자기 상태로 놓을지를 언제든지 알기 원합니다. 많은 작업이 백그라운드 프로세스이므로 페이지에서 아무 일도 일어나지 않으면 잠자기 상태로 두어야합니다. 즉 사용자가 자신의 PC에서 다른 화면으로 작업 중이거나 없으면 전체 중지웹 페이지가 잠자기 상태가 될 때

+0

참고 : http://stackoverflow.com/questions/1060008/is-there-a-way-to-detect-if-a-browser-window-is-not-currently-active. –

답변

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 변수의 상태를 확인 것이며 그것이 거짓이라면,이 함수에서 반환합니다. 사용자가 페이지와 다시 상호 작용하면 필요한 데이터가 새로 고쳐지고 awake 변수가 다시 true로 설정됩니다.

0

아마도 시간 초과 기능이 작동합니다. 관심있는 이벤트가 발생했는지 여부를 주기적으로 확인해야하므로 페이지를 "잠자기 상태로 설정"할지 여부를 결정해야합니다.

관련 문제