2009-08-27 6 views
0

저는 정기적으로 (2 분마다) 일부 서버 측 XML 파일을 검사하는 파이어 폭스 확장 기능을 개발 중입니다. 다음 기능을 추가하고 싶습니다.파이어 폭스에서 마지막 사용자 actitivty 이후의 시간

사용자가 X 분 동안 비활성 상태 일 때마다 검사 간격은 Z의 한도에 도달 할 때까지 Y의 배수만큼 확장됩니다. 그렇게하기 위해서 나는 비 활동 시간이 필요하다. 이 값 (또는 이와 비슷한 값)이 이미 내부적으로 firefox에 의해 생성 되었습니까? 그렇다면 내 확장 기능에서 어떻게 액세스 할 수 있습니까? 그리고 그렇지 않은 경우 : 스스로 생성 할 수있는 방법이 있습니까?

답변

2

나는 당신이 browser.xul을 중첩하면 브라우저 수준에서 개별 페이지로 엉망이되기보다는 이벤트에 연결될 수 있어야한다고 생각합니다. XPCOM은 Idle Service이며, 확장자는 ought to be possible입니다.

+0

감사합니다. 트릭을 수행 할 것이라고 생각합니다. –

0

사용자가 브라우저 창/탭에서 비활성 상태인지 만 확인할 수 있습니다. 이것은 자바 스크립트를 사용하여 얻을 수 있습니다.

onbody 하중 -> lastactivitytime의 시간() 이동 onmouse

스토어 -> 타임 lastactivitytime 저장 (document.onmousemove)

누르기에

-> 타임 lastactivitytime 저장 (document.onkeypress)

간격이 만료 될 때마다 현재 시간 대 값을 확인하십시오.

정지 폴링 창이 활성화에 onblur 이벤트

+0

웹 페이지에는 좋지만 전체 브라우저에 대한 더 멋진 솔루션이 아닙니까? –

0

사용자가 다른 창에서 활성화 된 경우 당신은 알 수 없습니다 아닌 경우 전체 중지합니다. 괜찮 으면 mousemove, keydown, mousescroll (?) 등의 이벤트에 대한 청취자를 열려있는 모든 페이지의 본문에 첨부하고 내부 FF 수단으로 닫는 탭을 생성해야합니다. 이 청취자 중 일부는 X 분 동안 트리거되지 않고 비활성 상태입니다.