自Firefox上次用户活动以来的时间

时间:2009-08-27 11:40:11

标签: javascript firefox xul firefox-addon

我目前正在开发一个firefox扩展,它会定期检查一些服务器端XML-File(每2分钟一次)。我想添加以下功能:

每当用户在X分钟内处于非活动状态时,检查间隔将延长Y的乘数,直到达到Z的极限。为了做到这一点,我需要不活动的时间。这个值(或类似的东西)是否已由firefox内部生成?如果是这样:我如何从我的扩展程序访问它?如果没有:有没有办法自己生成它?

3 个答案:

答案 0 :(得分:2)

我希望如果你覆盖browser.xul,你应该能够在浏览器级别挂钩事件,而不是乱用各个页面。 XPCOM有一个Idle Service,从扩展程序ought to be possible获取。

答案 1 :(得分:0)

您只能在浏览器窗口/选项卡中检查用户是否处于非活动状态。这可以使用javascript实现。

onbody load - >将时间存储在lastactivitytime()

onmouse movement - >存储时间lastactivitytime(document.onmousemove)

on keypress - >存储时间lastactivitytime(document.onkeypress)

每次间隔到期时,请检查值与当前时间。

如果窗口未激活onblur事件

,则停止轮询完全停止

答案 2 :(得分:0)

您不会知道用户是否在另一个窗口中处于活动状态。如果你没关系,那么你应该将mousemove,keydown,mousescroll(?)等事件的监听器附加到每个打开页面的主体上,并通过一些内部FF方式监听创建?关闭标签。是否有一些听众没有在X分钟内被触发,那么你就是没有活动。